git 从主分支合并到本地分支

git merging from master to local branch

如果 master 在本地分支 B1(从以前版本的旧 master 创建的分支)之前有更改,那么如何将 master(最新的 master)的更改合并到本地分支 B1(从以前的 master)在相同 and/or 不同文件上,它也有不同于最新主控的本地更改。

>> 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 and/or <<<<<<< HEAD 文件 git revert HEAD{X} 中的注释没有帮助)

你可以退一步:git merge --abort

或者您可以手动解决冲突:git mergetool(然后提交您的更改)

但您可能喜欢另一种选择:git rebase 将带走您的更改,将上游分支快速转发到您的本地分支,然后重新应用您的更改。

每种方式都适用于另一种情况,因此请考虑一下您要实现的目标。

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

保留当前分支的更改并删除其他分支。使用 --他们的 反之亦然。

你可以这样做(当你在分支机构时):

git fetch
git rebase origin/master