一些常见的git 命令
###git checkout
git checkout的特点是随着它使用的方法的不同,其作用是完全不同的,主要有三个方面
- 切换分支 (git checkout branch)
- 撤销工作区修改 (git checkout -- file)
- 检查工作区文件状态 (git checkout),有点类似于git status
(注意: 有 “--” 表示撤销文件, 没有“--”表示切换分支,如果checkout后面什么都不加,则表示检查文件状态,有点类似于git status)
1.切换分支,通过git checkout branch实现
2撤销工作区修改.,通过git checkout -- file实现
git checkout --file的根据两种不同情况分别有不同的撤销修改的效果
第一种是工作区文件修改但尚未add到暂存区: 此时撤销修改时,file就会回到上一次commit时的状态
第二种是工作区文件add到暂存区后,又对工作区文件进行修改,此时撤销修改时,file就会被暂存区的内容覆盖
3...
###git reset
git reset的作用有两种:
1. 回退版本
2.把暂存区的修改回退到工作区
reset可以用于回退版本,reset有hard/soft/mixed三种模式
--soft # 回退 HEAD
--mixed # 还原 HEAD、暂存区 # 默认参数
--hard # 还原 HEAD、暂存区、工作区
git checkout, git reset和git stash的区别:
- git checkout处理的情况是:在工作区的代码修改有bug,试图放弃工作区的修改,用暂存区的内容或者已commit的内容覆盖工作区。
- git reset 处理的情况是:最新提的一次commit有bug,想要消除本次commit记录,以便重新提commit
- git stash处理的情况是: 在一个分支A 处理中,尚未完成(未commit),但此时有有需求要求去新开另外一个分支B,为此先把A的现场存储并隐藏起来,然后再去处理分支B,等分支B处理完成后,再回头处理分支A