如果主服务器在本地分支B1(从先前版本的旧主服务器创建的分支)之前进行了更改,那么如何将更改从主服务器(最新主服务器)更改为本地分支B1(从以前的主服务器关闭)本地更改与相同和/或不同文件上的最新主文件不同。
>> git checkout B1
>> git merge master
错误:
CONFLICT (content): Merge conflict in views/index.html
Auto-merging scripts/services/eService.js
CONFLICT (content): Merge conflict in scripts/services/eScreenService.js
Auto-merging scripts/directives/confirmService.js
Auto-merging scripts/controllers/submitFormController.js
CONFLICT (content): Merge conflict in scripts/controllers/submitFormController.js
Automatic merge failed; fix conflicts and then commit the result.
我需要了解在这种情况下如何处理代码冲突?如何恢复文件中的合并更改(撤消文件>>>>>>> master
中的<<<<<<< HEAD
和/或git revert HEAD{X}
条评论
答案 0 :(得分:1)
您可以退后一步:git merge --abort
或者您可以手动解决冲突:git mergetool
(然后提交更改)
但您可能想要另一个选项:git rebase
将取消您的更改,将上游分支快进到您的本地分支,然后重新应用您的更改。
每种方式都适用于另一种情况,所以请稍微考虑一下你想要实现的目标。
答案 1 :(得分:1)
git-revert
恢复一些现有提交,不再修改HEAD提交。 Git Revert
并且在冲突之后你还没有犯下任何东西。
git status
是你最好的朋友。它可以指导你每一秒。
git status
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
去寻找
git merge --abort
这会将您的更改还原。
修改强>
您可以使用
git checkout --ours file
保持当前分支的更改并删除其他分支。使用 - 他们的反之亦然。
答案 2 :(得分:0)
你可以做(当你在分支机构时):
git fetch
git rebase origin/master