如何防止Git中的merge覆盖我所有的master';自第一次创建分支以来的更改?
我创建了一个分支“test1”,更改了一个文件,并没有将其合并回master。我一个星期都忘了考试。自从test1分支以来,我在master中做了很多更改 但是,后来我决定我仍然喜欢test1中我所做的一个特性,一个我更改过的文件如何防止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文件?我不想用旧的test1分支文件覆盖所有新的主文件(我更改的一个文件除外)。默认的合并策略,
recursive
,将找到共同的祖先和
尝试将test1
分支中发生的更改应用于当前分支(即master
)。因此,命令git merge test1
将保留master
分支中发生的更改,并应用在test
分支上执行的更改
不要害怕!如果出现问题(例如,存在冲突,但解决方法不正确),git可以轻松地将分支重置为较早的提交,然后再次尝试合并。您需要确保签出希望合并到的分支(在您的情况下是主分支),然后运行git merge命令
git checkout master
git merge test1
还可以查看官方文档中的“基本合并”部分