gpt4 book ai didi

git - 为什么要在创建新分支之前检查 master?

转载 作者:太空狗 更新时间:2023-10-29 13:28:43 27 4
gpt4 key购买 nike

我正在阅读 Rails Tutorial book而且,作者一遍又一遍地要求读者运行以下两个命令:

$ git checkout master
$ git checkout -b a

我理解这些命令的作用:它们 check out master 分支,然后创建并 check out 一个名为 a 的新分支。

为什么我们需要第一行?它有什么不同吗,还是我可以忽略它?

最佳答案

长话短说

Why do we need the first line at all? [...]

这是确保新分支 a 指向与 master 相同的提交的一种稍微迂回的方式。

更详细的回答

git checkout -b newbranch 做什么

要修复想法,您可以将 HEAD 指针视为地铁 map 上的 You-are-here 标记,即您的提交图。现在,以下命令,

git checkout -b newbranch

创建并 checkout 一个名为 newbranch 的新分支,该分支指向 HEAD(直接或间接)指向 的同一提交。例如,如果您的存储库如下所示,

enter image description here

通过运行git checkout -b newbranch,你会得到

enter image description here

Michael Hartl 带你去的地方

但是,Michael Hartl(Rails Tutorial 的作者)希望您创建并 check out 一个新的分支指向一个特定的提交:您的master 分支(即 master 分支指向的提交):

enter image description here

那么,为什么要先查看 master

让你运行

git checkout master

Michael Hartl 只是确保您的 HEAD 指向(间接)正确的提交,即 master 的提示:

enter image description here

然后,运行

git checkout -b newbranch

肯定会在需要的地方创建新分支:

enter image description here

更直接的方法:两只鸟,一 block 石头......

不过,必须首先检查 master 似乎有点笨拙。您实际上可以将这两个命令压缩为一个:

git checkout -b newbranch master

无论您在存储库中的哪个位置(即 HEAD 指向的位置),此命令都将创建并 check out 一个名为 newbranch 的新分支,该分支指向大师

但是,因为 Rails 教程是为了 cater for people who are new to Git , 因为

git checkout -b newbranch master

更先进一些,也许更不直观
git checkout master
git checkout -b newbranch

你真的不能责怪 Michael Hartl 推荐了后者。

关于git - 为什么要在创建新分支之前检查 master?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27877493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com