如何防止Git中的merge覆盖我所有的master';自第一次创建分支以来的更改?

如何防止Git中的merge覆盖我所有的master';自第一次创建分支以来的更改?,git,merge,git-merge-conflict,Git,Merge,Git Merge Conflict,我创建了一个分支“test1”,更改了一个文件,并没有将其合并回master。我一个星期都忘了考试。自从test1分支以来,我在master中做了很多更改 但是,后来我决定我仍然喜欢test1中我所做的一个特性,一个我更改过的文件 当我将分支test1合并到master中时,合并了什么?只是test1文件?我不想用旧的test1分支文件覆盖所有新的主文件(我更改的一个文件除外)。默认的合并策略,recursive,将找到共同的祖先和 尝试将test1分支中发生的更改应用于当前分支(即master

我创建了一个分支“test1”,更改了一个文件,并没有将其合并回master。我一个星期都忘了考试。自从test1分支以来,我在master中做了很多更改

但是,后来我决定我仍然喜欢test1中我所做的一个特性,一个我更改过的文件


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

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


不要害怕!如果出现问题(例如,存在冲突,但解决方法不正确),git可以轻松地将分支重置为较早的提交,然后再次尝试合并。

您需要确保签出希望合并到的分支(在您的情况下是主分支),然后运行git merge命令

git checkout master
git merge test1
还可以查看官方文档中的“基本合并”部分