使用分支——Git Checkout

这篇文章写的挺好;

https://zhuanlan.zhihu.com/p/465954849

这里要注意,git 新的命令,通过 git switch 切换分支,虽然git checkout 分支 还可以用;

游离状态的HEADS

在我们已经见识到git checkout命令对于分支的三大主要操作之后,现在该到了讨论一下“游离状态的HEAD”的问题了。再次明确一下,HEAD是Git中用来引用当前快照的指针。在Git内部,git checkout命令只是简单地将HEAD指针更新为指向特定分支或者commit。当它指向一个分支时,没什么问题,但是当你checkout了一个特定的commit,就会将HEAD指针变成一个游离的指针状态。

当进入这种游离状态时,Git会警告你当前处于游离状态,你所做的任何更改也都游离于你整个项目的开发流程。如果你执意要在游离状态开展新的修改,这些修改将不会被允许再合并回任何分支。然后当你没有办法只能切换到其他分支时,这部分修改也无法被带回到新的分支:

重点在于,开发工作应该始终发生在一个分支上——而不是一个游离状态的HEAD上。谨记这一原则可以保证你的变更提交永远都能找到。当然,如果你只是为了去看看某一个过去的提交,则无所谓是否处于游离状态。

总结

本文重点是关于使用git checkout命令进行分支的切换。总而言之,针对分支使用git checkout命令,会切换当前的HEAD指针指向。它还可用于创建分支,切换分支,checkout远程分支。git checkout命令对于Git项目的操作来说是至关重要的。可以认为它与git merge命令是一体两面。git checkout命令和git merge命令结合在一起使用才使得一系列复杂而又精妙的git 工作流程成为可能。

本段内容引用与: https://zhuanlan.zhihu.com/p/465954849

使用分支——Git Checkout - 知乎

如果临时切换 commit 历史记录,直接 git checkout commitID ;

但是修改后的提交记录,没有保存在项目中,如果切换分支后,历史记录就找不到了,除非自己一直保持中 当时的 commitID;

如果想要保留修改内容,也要保留 commit 记录,那么需要创建新的分支修改;

如果:

git checkout -b  newBranchName commitID

git checkout -b 与 git checkout

1:

git checkout -b serverfix origin/serverfix

从远程分支 创建一个 同名的 本地分支 serverfix

git checkout -b 是 git branch 创建分支 和 git check out 切换分支两个命令;

2:当然 上个命令 可以简化为:

git checkout serverfix 

 git checkout 不是切换分支么?

其实是 git checkout --track origin/serverfix 的简化;

Git - 远程分支

由于这个操作太常用了,该捷径本身还有一个捷径。 如果你尝试检出的分支 (a) 不存在且 (b) 刚好只有一个名字与之匹配的远程分支,那么 Git 就会为你创建一个跟踪分支:

3:

git checkout -b 可以创建一个和远程分支名字不一样或者一样的本地分支;

git checkout     当本地分支不存在,如果服务器的名字存在,就在本地创建一个同名的track分支;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chinabinlang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值