git checkout

用法一  git  checkout  [-q]  [<commit>]  [--]  <paths>...

用法二  git  checkout  [<branch>]

用法三  git  checkout  [-m]  [ [-b | --orphan]  <new_branch>]  [<start_point>]


用法一<commit>是可选的,如果省略则相当于从暂存区(index)进行检出

重置的默认值是HEAD,而检出的默认值是暂存区。

重置一般用于重置暂存区 ( 除非使用--hard参数,否则不重置工作区 ),

检出主要用于覆盖工作区 (如果<commit>不省略,也会替换暂存区中相应的文件)


用法一(包含了路径<paths>)不会改变HEAD头指针,主要用于指定版本的文件覆盖工作区中对应的文件。

如果省略<commit>,则会用暂存区的文件覆盖工作区的文件,否则用指定提交中的文件覆盖暂存区和工作区中对应的文件。


用法二(不使用路径<paths>)则会改变HEAD头指针,主要用于切换到分支,省略<branch> 则相当于对工作区进行状态检查。

之所以参数写作<branch>,是因为只有HEAD切换到一个分支才可以对提交进行跟踪,否则仍然会进入“分离头指针”的状态。

在“分离头指针”状态下的提交不能被引用关联到,从而可能丢失。


用法三主要是创建和切换到新的分支(<new_branch>),新的分支从<start_point>指定的提交开始创建。


git  checkout  branch

检出branch分支,完成上述1,2,3

更新HEAD以指向branch分支,以及用branch指向的树更新暂存区和工作区


git  checkout 

git  checkout  HEAD

汇总显示工作区、暂存区与HEAD的差异


git  checkout  -- filename

用暂存区中filename文件 覆盖工作区中的相应文件,相当于取消上次执行 git add filename以来(如果执行过)的本地修改


git  checkout --.  或写作 git  checkout  . 

用暂存区的所有文件直接覆盖本地文件



git  checkout  branch -- filename

维持HEAD的指向不变。

用branch所指向的提交中的filename替换暂存区和工作区中相应的文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值