我已经阅读了Git社区手册的基本分支和合并部分。

所以我遵循它,创建了一个分支:实验。

然后我:

切换到实验分支(git校验实验) 做一些改变 提交(git Commit -a) 切换到主分支(git checkout master) 做一些修改并提交 切换回实验性(git checkout experimental) 合并主机更改为实验性(git合并主机) 有一些冲突,但在我解决后,我做了'git add myfile' 现在我被困住了,我不能回到主人那里

当我做的时候

 $ git checkout master
error: Entry 'res/layout/my_item.xml' would be overwritten by merge. Cannot merge.

我照做了:

$ git rebase --abort

没有正在进行的调整?

我照做了:

$  git add res/layout/socialhub_list_item.xml
$ git checkout master
error: Entry 'res/layout/my_item.xml' would be overwritten by merge. Cannot merge.

我该怎么做才能回到我的主分支?


当前回答

交出来就行。

可选的git中止它: 我遇到了合并冲突。如何终止合并?

为了简化合并操作,安装kdiff3并将其配置为合并工具。产品说明:http://doodkin.com/2016/05/29/git-merge-easy-github-this-branch-has-conflicts-that-must-be-resolved-use-the-command-line/

该页面包含以下视频:https://www.youtube.com/watch?v=Cc4xPp7Iuzo

其他回答

我如何完成合并后解决我的合并冲突?

使用Git 2.12(2017年第一季度),您将拥有更自然的命令:

git merge --continue

如果你不想在继续/恢复合并时编辑消息:

git merge --continue --no-edit

如果——no-edit不起作用,正如akseli在评论中报告的那样,你可以这样做:

# Linux
GIT_EDITOR=true git merge --continue

# Windows
cmd /V /C "set "GIT_EDITOR=true" && git merge --continue"

您可以为这些命令定义别名。


参见Jeff King (peff)提交c7d227d(2016年12月15日)。 参见Chris Packham (cpackham)的commit 042e290, commit c261a87, commit 367ff69(2016年12月14日)。 (由Junio C Hamano合并- gitster -在提交05f6e1b, 2016年12月27日)

参见2.12版本说明。

合并:添加“——continue”选项作为“git commit”的同义词

教会'git merge'——continue选项,允许' continue ' a 通过完成合并。 解决冲突后完成合并的传统方法是使用'git commit'。 现在像'git rebase'和'git cherry-pick'这样的命令有一个'——continue'选项,添加这样一个选项到'git merge'会呈现一个一致的UI。

手动解决冲突后的下一步操作是:-

Git添加。 Git状态(这将显示继续自动合并过程需要哪些命令) [命令git建议,例如git merge—continue, git cherry-pick—continue, git rebase—continue]

另一个选择也是,我尝试了隐藏和工作为我没有任何承诺

在你解决了所有的矛盾之后,

->去藏匿

-> git stash应用存储@{0}

工作很好,你也可以切换到另一个分支。

解决冲突的步骤:

第一次“签出”到你想从另一个分支合并的分支 分支(BRANCH_NAME_TO_BE_MERGED)


"git checkout "MAIN_BRANCH"

然后使用命令将其与“MAIN_BRANCH”合并:

“git merge origin/BRANCH_NAME_TO_BE_MERGED”


Auto-merging src/file1.py
CONFLICT (content): Merge conflict in src/file1.py
Auto-merging src/services/docker/filexyz.py
Auto-merging src/cache.py
Auto-merging src/props.py
CONFLICT (content): Merge conflict in src/props.py
Auto-merging src/app.py
CONFLICT (content): Merge conflict in src/app.py
Auto-merging file3
CONFLICT (content): Merge conflict in file3
Automatic merge failed; fix conflicts and then commit the result.

现在你可以看到它正在显示“冲突(内容)”,对那些有“冲突”的文件,看到你的代码并解决它们

运行"git status" =>它会显示你需要添加的文件(你已经解决了):


 Unmerged paths:
      (use "git add <file>..." to mark resolution)

        both modified:   file3
        both modified:   src/app.py
        both modified:   src/props.py
        both modified:   src/utils/file1.py

解决了所有冲突后,使用下面的git命令逐个添加每个文件


git add file3
git add src/app.py
git add src/props.py
git add src/utils/file1.py

“git提交” (当你要提交的时候添加一些消息,如果没有,它会打开vi或vim编辑器,你需要按“esc:q!”然后按“enter”) 再次运行"git status"


 On branch MAIN_BRANCH
  Your branch is ahead of 'origin/MAIN_BRANCH' by 10 commits.
  (use "git push" to publish your local commits)

7.git push”

可能会晚了。这是发生,因为你的git HEAD没有更新。 这个推荐将解决git重置HEAD。