自从分支首次创建以来,如何保持Git中的合并覆盖我主人的所有更改?

时间:2015-04-17 22:42:06

标签: git merge git-merge-conflict

我创建了一个分支“test1”,更改了一个文件,并且不将它合并回master中。我忘记了一周的考试。自test1分支以来,我在master中做了很多更改。

但是,我决定我仍然喜欢test1中的那个功能,我改变了一个文件。

当我将分支test1合并到master中时,会合并什么?只是test1文件?我不想用旧的test1分支文件覆盖我的所有新主文件(除了我更改的一个文件)。

2 个答案:

答案 0 :(得分:2)

默认合并策略recursive将找到共同的祖先和 尝试test1分支中发生的更改应用于当前分支(即master)。因此,命令git merge test1将保留master分支中发生的更改,并应用您在test分支上执行的一项更改。

不要害怕!如果事情以某种方式出错(例如存在冲突但你没有正确解决)git可以很容易地将分支重置回早期的提交并再次尝试合并。

答案 1 :(得分:0)

您需要确保检出要合并的分支(在您的情况下为主分支),然后运行git merge命令。

git checkout master
git merge test1

另请查看官方文档here

上的“基本合并”部分