git从master到本地分支合并

时间:2016-10-18 09:34:46

标签: git github merge master

如果主服务器在本地分支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}条评论

3 个答案:

答案 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