【发布时间】:2023-03-20 06:50:02
【问题描述】:
我有一个包含两个分支的存储库,master 和 front_end_dev。我的一位同事从 master 创建了 front_end_dev 分支,他们共享一个提交历史记录,但历史记录是分开的,并且分支是分开的。如下图:
MASTER m1 -- m2 -- m3 -- m4 -- m5 -- m6 -- m7 -- m8 -- m9
FRONT_END_DEV m1 -- m2 -- m3 -- m4 -- m5 -- f1 -- f2 -- f3 -- f4
例如,前五个提交在两个分支中是相同的,但随后历史记录不同。但是,分支不是由一个共同的祖先连接的。我将如何将 front_end_dev 合并到 master 和/或重新设置 front_end_dev 以便它正确地分支最后一次共享提交?
【问题讨论】:
-
选项 1—打开
MASTER:git merge FRONT_END_DEV创建一个合并提交,您必须在其中协调冲突(即从m6到m9的内容未考虑)或选项 2 —FRONT_END_DEV:git rebase MASTER在m9之上重播f1到f4,这会生成新的提交(即,如果您希望将f1到f4的提交具体保留在历史中,则不适合)。如果您现在按照 1) forFRONT_END_DEV,它将创建一个快进合并(即没有合并提交,线性历史)。 -
太棒了,成功了。谢谢!