从功能分支而不是开发分支

时间:2014-01-02 16:28:32

标签: git git-branch

我正在做一个修补程序,当我创建分支时,我忘了从experminetal分支切换回来开发之前。

   experiment -> hotfix
   develop

什么时候应该

   experiment
   develop -> hotfix

如何将分支移动到开发中并从实验分支中删除它?我已经看过这样的一些问题,但他们似乎认为你仍然想要包括我的实验中的内容。我仍然需要保持实验的完整性。

1 个答案:

答案 0 :(得分:3)

如果执行修补程序分支的非快进更新不是问题(如果您想这样做通常需要注意),您只需重写修补程序分支以将其更改应用于开发的提示而是分支:

git checkout hotfix
git rebase --onto develop experiment

这意味着:查找从修补程序可以访问的所有提交,但不能从实验中找到(即修补程序分支的唯一提交)并将它们移动到develop分支上。换句话说,将要移动的提交序列的基础定义为实验分支。 --onto参数指定提交序列的新基础,即第一次提交的新父提交被重新命名。

如果重写已发布分支的历史记录是不可接受的,只需根据开发创建一个新分支并复制您的提交。

git checkout -b hotfix2 develop
git cherry-pick experiment..hotfix