git checkout 切换分支或创建或恢复工作树文件说明(含案例)

git checkout 切换分支或恢复工作树文件

1. git checkout 是什么?

  git-checkout - 切换分支或恢复工作树文件

2. git checkout 用法与实践
 2.1 切换分支 git checkout [<分支>]

git checkout [<分支>]
当 [<分支>]如果存在时, 将切换到该 [<分支>]
当 [<分支>]如果不存在时, git 将报出未匹配到该 [<分支>]

 案例:

  2.1.1 git branch --all查看本地和远程分支
    master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
  2.1.2 git checkout master (master分支存在)
    说明:将切换到本地的master分支上
  2.1.3 git checkout test (test分支不存在)
    说明:test分支不存在时,将会提示未匹配到该branch

 2.2 checkout新建分支

git checkout -b|-B <新分支>
指定-b会创建一个新分支,就像 调用git-branch[1]然后创建一样
如果-B给出,new-branch则在不存在时创建;否则,它被重置。

 案例
  2.2.1 git branch --all查看本地和远程分支
    master
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
  2.2.2 git checkout -b test
    说明:指定-b时,git将会创建test分支并且切换到该分支.(如果存在时,git将会报错已经存在该分支)
  2.2.3 git checkout -B test1
    说明:分支,如果不存在时创建并且切换到该分支;否则,它被重置并且切换到该分支

 2.3 checkout清除文件修改

  checkout对于文件的修改和清除本质是:
用暂存区|索引(index)中的内容覆盖工作树(未git add的)

  2.3.1 git checkout . 清除工作树修改的内容
    说明:将工作树中的修改文件全部清除,但保留暂存区的信息(如果暂存区没有,那么该命令等于清除工作树所有内容)
案例和2.3.2大致一样请看下方案例

  2.3.2 git checkout -- file|path 清除工作树修改的某个文件|路径
    说明:清除工作树中修改的file或path的内容

 案例:
  当如果在工作区改了信息,但是没有git add 加入到暂存(index)中时案例.
  1.修改readme.md文件,加入"checkout说明"
  2.输入git checkout readme.md

  说明:当执行上面步骤时,步骤1的信息将被清除

  3. 当步骤1执行后,再执行git add .保存到暂存区后,执行步骤2时

  步骤3说明:此时信息已经保存到暂存区,git checkout readme.md将还是保留暂存区(index)信息,等于 “不变化”

  2.3.3 git checkout -f 忽略工作树和暂存(index)中修改的信息
   说明:途中有未跟踪的文件,也要继续。这用于丢弃本地更改和任何未跟踪的文件或目录

 案例
  1.修改readme.md文件,加入"checkout说明"
  2.输入git checkout -f

  说明:当输入-f这个时,不管有没有(git add)暂存区内容,都将把暂存区和工作区都清除 谨慎使用
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值