所以我在 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的所有工作。要合并到中,请确保您有一个干净的工作副本,然后运行.developreleasedevelopreleasegit checkout releasegit merge developdevelop. releaseCherry-picking 会创建一个新的提交,release它会执行在您命名的提交中所做的确切更改。如果您已经完成了大量工作,这很有用develop,但您只希望带来一两件事情。要挑选,请查看git log,复制命名您想要的提交的 sha 哈希,然后运行git checkout release,然后git cherry-pick <commit hash>.要回答您的后续问题:
没有!的一般目的git checkout是使您的工作副本看起来像您命名的东西。运行时git checkout release,git 会将工作副本中的实际文件更改为上次提交的状态release。Checkout 不会更改现有的分支。(此外,您不需要-bifrelease已经存在;checkout -b这是一次性创建和签出分支的便捷快捷方式。)
同样,要切换回来,您需要做的就是git checkout develop再次。
如果要将更改从一个分支带到另一个分支,则必须进行合并。