快速掌握Git基本用法
1.本地库的创建和初始化.
步骤:
- 进入本地库所在的目录,启动git bash.
- 执行命令, git init
- 通过$ll –a 检查是否创建本地库目录.git
注意: .git目录中存放的是本地库相关的文件和子目录,不要删除,也不要随意修改.
2.设置签名
用名称和邮件地址来做签名,用来区分不同的开发人员.
- 仓库级别/项目级别签名 表示本地库所用的签名
- git config user.name 用户名
- git config user.email 邮件地址
- 仓库级别的签名保存在, .git/config文件中
- 系统级别签名
表示登录当前操作系统用户使用的所有本地库用的签名 - git config --global user.name 用户名
- git config --global user.email 邮件地址
- 系统级别的签名保存在,当前用户家目录中的.gitconfig文件中 [~/.gitconfig]
注意:在对本地库进行操作时,要求至少有一个签名.如果两个签名同时存在优先使用仓库级别的签名
3.基本命令
3.1.查看本地库状态
- $git status
3.2.添加到暂存区
- 在工作区中新建了文件或者修改了文件,才需要将这些内容添加到暂存区.
- $ vim 文件名
在vim编辑器下面的操作方式: - 按i键进入编辑模式
- 按esc键进入底部命令模式,输入:wq表示保存文件并退出编辑器
- 按esc键进入底部命令模式,输入:set nu表示显示行号
$git add文件名
$git rm --cached 文件名
3.3.提交到本地库
- $git commit文件名
$git commit -m “提交说明文字” 文件名
3.4.查看历史记录
$git log
$git log --pretty=oneline
$git log --oneline
$git reflog
3.5.控制版本前进或者后退
-
使用索引值操作[推荐]
$git reset --hard 版本编号
-
使用^符号操作
$git reset --hard HEAD^
注意: 这种操作方式,只能后退.一个^符号表示退后一个版本.
-
使用~符号操作
$git reset --hard HEAD ~ 回退步数
注意: 这种操作方式,只能后退.回退步数表示从当前版本向后回退多少个版本.
3.6.reset命令的三个参数对比
-
–hard参数
$git reset --hard HEAD^
将本地库的指针和暂存区连同工作区的文件内容.统一进行版本操作.
-
–mixed参数
$git reset --mixed HEAD^
移动本地库中的指针同时重置暂存区.工作区文件内容不会改变
注意:如果采用这种方式向后退回版本,那么就会显得工作区中的新内容没有被添加到暂存区
-
–soft参数
$git reset --soft HEAD^
只在本地库中移动HEAD指针,不会影响工作区的文件内容.
注意:如果采用这种方式向后回退了版本,那么就会显得暂存区中的新内容没有被提交.
3.7.删除文件并恢复
-
前提: 文件存在时的状态,在本地库进行了版本控制.
-
操作:通过读取本地库中,以前有删除文件的版本,来恢复该文件
$git reset --hard 版本编号
技巧:对工作区状态进行了版本控制后,删除了一个文件,不需要将当前工作区的状态进行版本控制(添加到暂存区,提交到本地库).直接可以使用$git reset --hard HEAD恢复刚刚删除的文件.
3.8.文件差异比较
-
将工作区中的文件和暂存区中的文件进行内容比较
$git diff 文件名
-
将工作区中的文件和本地库中指定的历史版本文件进行内容比较
$git diff 历史版本编号 文件名
-
不提供文件名,将比较多个文件的差异
$git diff 版本编号
4.分支管理
4.1.什么是分支
- 在版本控制过程中,采用多条线同时推进多个任务,其中每一条线都被成为分支.
注意:只要创建的本地库,就会提供一个默认的master分支(主分支,主干)
4.2.分支的优势
- 同时并行的推进多个功能开发,提交开发效率
- 各个分支在开发过程中,如果一个分支发开失败,不会对其他分支有任何影响.删除失败的分支重新开始即可.
4.3.分支操作
-
查看分支
$git branch -v
-
创建分支
$git branch 分支名
-
切换分支
$git checkout 分支名
-
合并分支
1.切换到合并目标分支
$git checkout 目标分支
2.使用命令进行分支合并
$git merge 分支名
合并时发生冲突的解决步骤: -
冲突的表现形式
1.在各自的分支中对同一个文件的相同内容进行修改
2.各自都添加到暂存区并提交至本地库,这是发现各个分支的版本就会不一样.
3.这种情况下进行合并时,就会发生冲突.
-
冲突的解决方式:
1.编辑文件,删除特殊符号.保留沟通后正确的代码内容.
2.通过 g i t a d d 文 件 名 . 将 文 件 修 改 内 容 加 至 暂 存 区 3. 通 过 git add 文件名.将文件修改内容加至暂存区 3.通过 gitadd文件名.将文件修改内容加至暂存区3.通过git commit --m “注释内容” 进行提交至本地库
注意: 如果操作是分支冲突提交内容,不需要跟文件名.