Git提交自定义父级

时间:2016-08-21 16:36:43

标签: git git-commit magit

示例日志图:

A B
|/
a

想要本地(未推送)工作流程:

  • 如果只需要对分支x提交A - 将x提交到分支A
  • 如果只需要对分支x提交B - 将x提交到分支B
  • 如果分支x需要提交A B - 提交x 顶部修订版a,最新的分支AB的共同祖先

最后一种情况应该将日志图改为:

A B
|/
x
|
a

什么是完成此类工作流程的最简单方法? (如果它在Emacs / Magit中奖励)

1 个答案:

答案 0 :(得分:3)

根据a创建新分支:

git checkout -b workbranch a

进行更改并提交:

...
git commit -m 'i made some changes'

在您的工作分支上重新AB

git checkout A
git rebase workbranch
git checkout B
git rebase workbranch

如果您不再需要,请删除工作分支:

git branch -D workbranch

根据需要重复。