天天看点

一些常见的git 命令

一些常见的git 命令

###git checkout

git checkout的特点是随着它使用的方法的不同,其作用是完全不同的,主要有三个方面

  1. 切换分支 (git checkout branch)
  2. 撤销工作区修改 (git checkout -- file)
  3. 检查工作区文件状态 (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