所以我在git上有两个分支:develop
和release
。到目前为止,我一直在使用develop
分支。我刚刚提交了develop
分支,我想在release
分支中使用它。我该怎么做?我在这里有点困惑。
1)当我这样做时会自动发生吗?
git checkout -b release
2)要切换回develop
分支,我可以办理结账,对吗?还是我需要合并?
答案 0 :(得分:2)
您有一些选项可以让一个分支上的提交可供另一个分支使用 - 您选择的选项取决于您希望历史记录的显示效果。
release
分支上创建一个提交,其中包含两个父级:develop
的提示和release
的前提示。然后release
将完成develop
和release
的所有工作。要将develop
合并到release
,请确保您拥有干净的工作副本,然后运行git checkout release
,然后git merge develop
。develop
之上<{1}} 挑选个别提交。 Cherry挑选在release
上创建一个新的提交,它执行在您提到的提交中完成的确切更改。如果您在release
上完成了大量工作,这很有用,但您只需要带来一两件事。要挑选,请查看develop
,复制命名所需提交的sha哈希,然后运行git log
,然后git checkout release
。回答您的后续问题:
都能跟得上! git cherry-pick <commit hash>
的一般目的是使您的工作副本看起来像您命名的。当您运行git checkout
时,git会将工作副本中的实际文件更改为上次提交到git checkout release
的状态。结帐不会更改现有分支。 (另外,如果release
已经存在,则不需要-b
; release
是一次创建和签出分支的便捷快捷方式。)
同样,要切换回来,您需要做的只是再次checkout -b
。
答案 1 :(得分:0)
如果要将更改从一个分支转移到另一个分支,则必须进行合并。