我在我的提交历史记录中发现了一些错误。我使用这些步骤进行更正并解决了所有冲突。现在我的主分支没有问题了。但是我有另一个分支,我们称其为“分支1”:
我想将应用于主分支的更改也应用于分支1。我已经在橙色提交处进行了更改。我已经解决了直到主分支的最后一次提交的所有冲突。如何将这些更改也应用于分支1?
.-D'-E' -- master' (after rebase)
A-B-C-D-E -- master (before rebase)
`F-G-H -- branch1 (before rebase)
如果我理解正确,您的最终历史记录应该包括:
.-F'-G'-H' -- branch1 (after rebase)
.-D'-E' -- master' (after rebase)
A-B-C-D-E -- master (before rebase)
`F-G-H -- branch1 (before rebase)
A-B-C-D'-E' -- master (after rebase)
`F'-G'-'H -- branch1 (after rebase)
您可以通过指定要变基的提交范围以及新上游来实现此操作:
git rebase --onto "E'" E branch1
E..branch1
并在E'
之上重新应用它们。您可以挑选所需的提交记录。这是从其他分支获取更改的最佳方法。
rebase --onto
可以帮助你。 - Ôrelgit rebase --onto master old_master branch1
命令将获取 old_master 和 branch1 之间的所有提交并将它们放在主分支上。查看git rebse --help
命令,你会发现很多细节。 - Ôrel