所以我在 git:develop
和release
. develop
直到现在我一直在使用分支。我刚刚提交了develop
我希望在分支中可用的release
分支。我该怎么做?我在这里有点困惑。
1)当我这样做时,这是否会自动发生
git checkout -b release
2)要切换回develop
分行,我可以结帐,对吗?还是我需要合并?
所以我在 git:develop
和release
. develop
直到现在我一直在使用分支。我刚刚提交了develop
我希望在分支中可用的release
分支。我该怎么做?我在这里有点困惑。
1)当我这样做时,这是否会自动发生
git checkout -b release
2)要切换回develop
分行,我可以结帐,对吗?还是我需要合并?
您有几个选项可以使一个分支上的提交可用于另一个分支——您选择的选项取决于您希望以后的历史看起来如何。
release
具有两个父级的分支上创建提交: 的尖端develop
和release
. 然后将拥有和release
的所有工作。要合并到中,请确保您有一个干净的工作副本,然后运行.develop
release
develop
release
git checkout release
git merge develop
develop
. release
Cherry-picking 会创建一个新的提交,release
它会执行在您命名的提交中所做的确切更改。如果您已经完成了大量工作,这很有用develop
,但您只希望带来一两件事情。要挑选,请查看git log
,复制命名您想要的提交的 sha 哈希,然后运行git checkout release
,然后git cherry-pick <commit hash>
.要回答您的后续问题:
没有!的一般目的git checkout
是使您的工作副本看起来像您命名的东西。运行时git checkout release
,git 会将工作副本中的实际文件更改为上次提交的状态release
。Checkout 不会更改现有的分支。(此外,您不需要-b
ifrelease
已经存在;checkout -b
这是一次性创建和签出分支的便捷快捷方式。)
同样,要切换回来,您需要做的就是git checkout develop
再次。
如果要将更改从一个分支带到另一个分支,则必须进行合并。