我已经阅读了Git Community Book 的Basic Branching and Merging部分.
所以我按照它创建了一个分支:experimental.
然后我:
有一些冲突,但在我解决它们后,我做了'git add myfile'
而现在我被困住了,我无法回到主人那里
当我做
$ git checkout master
error: Entry 'res/layout/my_item.xml' would be overwritten by merge. Cannot merge.
Run Code Online (Sandbox Code Playgroud)
我做了:
$ git rebase --abort
Run Code Online (Sandbox Code Playgroud)
没有任何进展?
我做了:
$ 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.
Run Code Online (Sandbox Code Playgroud)
我能做些什么才能回到主分公司?
Jim*_*dra 245
合并期间发生冲突时,您必须手动完成合并提交.听起来你已经完成了前两个步骤,编辑冲突的文件然后git add在它们上运行以将它们标记为已解决.最后,您需要实际提交合并git commit.此时,您将能够再次切换分支.
Von*_*onC 131
解决合并冲突后如何完成合并?
使用Git 2.12(2017年第一季度),您将拥有更自然的命令:
git merge --continue
Run Code Online (Sandbox Code Playgroud)
请参阅Jeff King()提交的c7d227d(2016年12月15日).
请参阅Chris Packham()提交042e290,提交c261a87,提交367ff69(2016年12月14日).(由Junio C Hamano合并- -在提交05f6e1b,2016年12月27日)peffcpackham
gitster
请参阅2.12发行说明.
merge:添加"--continue"选项作为的代名词"git commit"教'
git merge'--continue允许'继续'合并完成它的选项.
解决冲突后完成合并的传统方式是使用'git commit'.
现在,像'git rebase'和'git cherry-pick' 这样的命令有一个'--continue'选项,添加这样的选项'git merge'呈现一致的UI.
Bom*_*mbe 22
如果您在合并/ rebase期间遇到困难,您可以随时
git reset --hard
Run Code Online (Sandbox Code Playgroud)
将您的工作恢复到上次提交的状态.这将从工作树中丢失您的更改,因此如果您在合并之前进行了本地修改,它们将在此之后消失 - 这就是为什么在您进行本地修改时不建议合并的原因.:)
Sou*_*rem 11
每当使用命令合并两个分支时git merge brancha branchb,有两种可能性:
一个分支(比如brancha)可以通过跟随其提交历史来到达另一个分支(比如branb).在这种情况下,git只是快速转发头指向最近的分支(在本例中为branchb).
但是如果两个分支在某个较旧的点上分歧,那么git会创建一个新的快照并添加一个指向它的新提交.因此,如果你正在合并的分支之间没有冲突,git会顺利地创建一个新的提交.
git log合并两个非冲突分支后运行以查看提交.
现在回到合并分支之间存在合并冲突的有趣情况.我从https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging页面引用此内容
Git没有自动创建新的合并提交.在您解决冲突时,它已暂停该过程.如果要在合并冲突后的任何时候查看哪些文件未合并,则可以运行
git status
因此,如果存在合并冲突,您需要解决冲突,然后使用git add filename然后使用git commit 由git暂停的命令来添加您对暂存区域所做的更改,然后使用该命令提交更改.我希望这可以解释您的查询.另外,请访问上面的链接以了解详细信息.如有任何疑问,请在下面评论,我将很乐意为您提供帮助.
Shi*_*kin 11
就是git commit这样.
可选地git abort:
我遇到了合并冲突.我怎样才能中止合并?
为了使合并更轻松,请安装kdiff3并将其配置为mergetool.说明: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 merge --continue,git cherry-pick --continue,git rebase --continue]