1.Git与Github
区别:
Git是一个分布式版本控制系统,简单的说就是一个软件,用于记录一个或若干个文件内容变化,以便将来查阅特点版本修订情况的软件。
Github是一个为用户提高Git服务的网站,简单说就是一个可以放代码的地方。Github除了提供Git的Web界面外,还提供了订阅,关注,讨论组,在线编辑器等丰富的功能。
2.Git安装
官网安装
3.Git的使用
Git本地操作的三个区域:
Git Repository(Git 仓库):最终确定的文件保存到仓库,成为一个新的版本,并且对他人可见
暂存区:暂存已经修改的文件最后统一提交到git仓库中
工作区(Working Directory):添加,编辑,修改文件等动作
本地仓库操作
1.在安装好后首先使用需要进行全局配置
桌面空白处右键,点击 Git Bash Here 打开Git命令行窗口
git config --global user.name "用户名"
get config --global user.email "邮箱地址"
设置用户名和邮箱,把参数去掉之后可以查看设置是否成功
2.创建仓库
当我们需要人Git去管理某个新项目或已存在项目的时候,就需要创建仓库了。创建仓库时使用的目录不一定要求是空目录,非空目录也可以,所有目录不能存在中文。
创建文件夹
进入文件夹
Git仓库初始化
git init
执行后会在项目目录下创建 .git的隐藏目录,不能删除,也不能随意修改其中的内容。
3.Git常用指令操作
查看当前状态: git status
添加到缓冲区: git add 文件名
注:git add 指令,可以添加一个文件,也可以同时添加多个文件
git add 文件名
git add 文件名1 文件名2 文件名3 ...
git add . 添加当前目录到缓冲区
提交至版本库: git commit -m "注释内容,提交说明"
4.版本回退
1.查看版本,确定需要回去的时刻点
git log
git log --pretty=oneline 放在一行显示
2.回退
git reset --hard 提交编号(id)
回退之后,要想再回到之前最新的版本时,需要使用指令去查看历史操作,以得到最新的commit id
git reflog
远程仓库
1.线上创建
github点击create repositroy即可
2.基于http协议使用
1.创建一个空目录,名称随便,进入目录
2.使用clone指令克隆线上仓库到本地
git clone 线上仓库地址
3.在仓库上做对应的操作
提交暂存区
提交本地仓库
提交线上仓库
git push
首次往线上仓库提交时候会失败,报错或弹窗,是因为鉴权没过,需要修改 ".git/config"文件内容
添加gitHub的用户名和密码,如果是弹窗,则选择浏览器方式授权即可
拉取线上仓库
git pull
3.基于ssh协议
相比于https方式,只是影响github对于用户的身份鉴权方式,对于git的具体操作不影响
1.生成客户端公私钥文件(需安装OpenSSH)
ssh-keygen -t rsa -C "邮箱"
# 影响为登录github的邮箱即可
2.将公钥上传到Github
把生成的密钥文件打开,将其中的内容复制上传至github
分支管理
1.相关指令
查看分支: git branch
创建分支: git branch 分支名
git push --set-upstream origin [master] 创建完成之后执行该命令,于远程仓库建立连接,master为自定义分支名称
切换分支: git checkout 分支名
切换并创建分支: git checkout -b 分支名
删除分支: git branch -d 分支名
删除分支时,要先退出要删除的分支,然后再删除
合并分支: git merge 被合并的分支名
2.冲突的产生与解决
发送冲突时先git pull代码,此时git已经将线上与本地仓库的冲突合并到对应的文件中,需要手动打开对应文件,保留需要的,删除不需要的。最后重新提交。
忽略文件
提交代码时有些文件长时间不需要提交,可以将该文件设置为忽略文件。忽略文件需要新建一个 .gitignore的文件,该文件用于声明忽略文件或不忽略文件的规则,规则对当前目录及其子目录生效。
该文件因为没有文件名,没办法直接在windows目录下直接创建,可以通过命令行Git Bash来touch创建。
在.gitignore文件中编写规则,#开头为注释
/文件夹名称/ 过滤整个文件夹
*.zip 过滤所有.zip文件
/文件夹名称/文件名 过滤某个具体文件
!index.php 不过滤具体某个文件