有没有一种很好的方法来解释如何在Git中解决合并冲突?
我使用过git pull并且发生了合并冲突:
unmerged: _widget.html.erb
You are in the middle of a conflicted merge.
Run Code Online (Sandbox Code Playgroud)
我知道该文件的其他版本是好的,我的是坏的所以我的所有更改都应该放弃.我怎样才能做到这一点?
git version-control git-merge merge-conflict-resolution git-merge-conflict
我一直在Windows上使用Git(msysgit)来跟踪我一直在做的一些设计工作的变化.
今天我一直在使用不同的PC(带远程仓库brian),现在我正在尝试将今天完成的编辑合并到我笔记本电脑上的常规本地版本中.
在我的笔记本电脑上,我习惯git pull brian master将更改添加到我的本地版本中.除了主要的InDesign文档之外,一切都很好 - 这显示为冲突.
PC(brian)上的版本是我想要保留的最新版本,但我不知道哪些命令告诉repo使用这个版本.
我试着将文件直接复制到我的笔记本电脑上,但这似乎打破了整个合并过程.
谁能指出我正确的方向?
我创建了一个dialog分支,当我尝试将它合并到master分支时.有2个冲突.我不知道该如何解决CONFLICT (delete/modify).你能告诉我该怎么办?
$ git checkout master
$ git merge dialog
CONFLICT (delete/modify): res/layout/dialog_item.xml deleted in dialog and modified in HEAD. Version HEAD of res/layout/dialog_item.xml left in tree.
Auto-merging src/com/DialogAdapter.java
CONFLICT (content): Merge conflict in src/DialogAdapter.java
Automatic merge failed; fix conflicts and then commit the result.
Run Code Online (Sandbox Code Playgroud)
我打开了src/DialogAdapter.java,解决了冲突并做了一个git add src/DialogAdapter.java.我还需要做什么?
当我尝试在终端中拉入我的项目目录时,我看到以下错误:
harsukh@harsukh-desktop:~/Sites/branch1$ git pull origin master
U app/config/app.php
U app/config/database.php
U app/routes.php
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
Run Code Online (Sandbox Code Playgroud)
为什么git说"Pull is not possible because you have unmerged files",我该如何解决?
我正在为我的git项目使用(Windows)SourceTree.我可以在命令提示符或Linux终端中执行此操作.
但是,我想知道是否有一种交互式和视觉上解决冲突的好方法.例如,如果pull检测到冲突,则弹出基于GUI的冲突工具(例如,P4Merge).可能吗?
我总是在做手动冲突解决,这很痛苦.
例如,这是pull来自SourceTree 的git 消息.
git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
* branch master -> FETCH_HEAD
Updating 33c07bf..41e0249
error: Your local changes to the following files would be overwritten by merge:
foo.cpp
goo.cpp
goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting
Completed with errors, see above.
Run Code Online (Sandbox Code Playgroud) git git-merge merge-conflict-resolution atlassian-sourcetree
有没有解决使用结账所有文件冲突的方式--ours和--theirs?我知道您可以为单个文件执行此操作,但无法找到为所有文件执行此操作的方法.
我尝试使用Git在命令行中合并文件,当出现错误消息告诉我合并已中止.
我认为这是它的结束,但后来我意识到我的文件中有gitmarks.像这样:
start =
expression
validchar =
[0-9a-zA-Z_?!+\-=@#$%^&*/.]
integer =
<<<<<<< HEAD
digits:[0-9]+
{ return digits.join(""); }
=======
sign:"-"* digits:[0-9]+
{ return sign + digits.join(""); }
>>>>>>> gh-pages
Run Code Online (Sandbox Code Playgroud)
这些文件不是由我编辑的,而是显示插入的行:
<<<<<<< HEAD)=======)>>>>>>> gh-pages)更糟糕的是文件内容不再有序.有谁知道我如何让这些文件恢复正常,我在gh-branch中所做的更改合并到主分支?
当我在Visual Studio中获取最新版本时,如果存在冲突,则没有任何内容显示给我以使其显而易见.总是我认为一切都很好,做一个构建,并且通常构建工作.
我总是有责任记住寻找冲突,打开冲突窗口.有没有办法让VS在我脸上,告诉我现在有冲突?
当Git中存在合并冲突时,会将以下垃圾插入冲突文件中.三个问题:

注意:如果它是相关的,我使用的是GitHub的Mac GUI客户端.