0

我有一个 master 分支,它是由另一个开发人员分支出来的,然后他添加了功能。与此同时,我对一些相同的文件进行了更改。虽然线路上没有直接冲突,但我想知道用于将另一个分支合并回 master 的不同方法,冲突最小。

ASCII 艺术可视化:

A-B-C-D
\
 1-2-3

我是否最好检查提交 A,将 3 处的分支重新合并,然后重新应用 B 到 D 中的更改?还是我应该将 3 合并回 D 中?或者我确信我缺少一些更好的方法。

我对 git 很陌生,我想我已经掌握了它,但我只是想确保我正确使用它。

4

2 回答 2

3

假设 ABCD 的原始分支名称是“orig”。你在“3”,分支名称为“master”。试试这个:

git rebase orig
于 2012-08-24T00:12:04.330 回答
1

你所描述的——签出A、合并1——<code>3,然后应用B——<code>D——是一种称为变基的标准 Git 技术。假设没有无法自动解决的冲突,您可以使用单个命令来完成:

git rebase --onto {commit 3} {commit A} {commit D}

如果在做 rebase 时有冲突,Git 会告诉你解决它们。

但是,正常的 Git 工作流程只是将分支合并在一起。除非您有理由不这样做,否则我建议您只进行合并。

合并更准确地反映了开发过程;这意味着您可以查看您的历史,并准确了解一个功能是如何开发的,然后合并到主代码中。变基使您的历史看起来人为地干净;有时这很有用,但它确实隐藏了事情的完成方式。

于 2012-08-24T09:05:58.123 回答