tra*_*max 35 git git-merge merge-conflict-resolution visual-studio-2013
我正在使用Visual Studio 2013 Update 4和git(在Visual Studio Online上托管).我在远程分支中有2个本地提交和2个提交.提交没有本地更改:

当我尝试在Visual Studio中执行Pull(或Fetch)时,我收到错误:
发生错误.详细消息:1冲突阻止结账

是的,有冲突,我应该合并.根据这个页面,我应该得到一个解决冲突的链接.但我在VS中没有看到.
我可以在VS之外进行合并,但这不是重点.同时,我的同事运行相同的设置可以进行合并而没有任何问题.我的VS出了什么问题?
ps我安装了msysgit可能会搞乱配置.根据这篇文章 我的全球.gitconfig看起来像:
[user]
mail = trailmax@stackoverflow.com
name = trailmax
email = trailmax@stackoverflow.com
[core]
excludesfile = C:\\Users\\trailmax\\Documents\\gitignore_global.txt
autocrlf = true
editor = \"C:/Program Files (x86)/GitExtensions/GitExtensions.exe\" fileeditor
[diff]
tool = vsdiffmerge
[difftool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
keepbackup = false
trustexistcode = true
[merge]
tool = vsdiffmerge
[mergetool]
prompt = true
[mergetool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m
keepbackup = false
trustexistcode = true
[credential]
Run Code Online (Sandbox Code Playgroud)
Len*_*rri 55
在我的情况下,我看不到该Resolve the conflicts选项,因为我还没有提交本地更改,我试图与远程更改同步.一旦我提交了本地更改,然后再次尝试同步,就会Resolve the conflicts出现链接.
所以重点是:首先提交更改,然后尝试同步.一个合并将启动Visual Studio将让你去通过每个的冲突.

Kar*_*llo 12
我遇到了同样的问题,其中"发生错误.详细信息:1冲突阻止结账"显示没有解决冲突的选项,如Leinel的回答所示.
原因是由于未跟踪的文件与要拉出的文件相同.我刚刚删除了未跟踪的文件并重试了拉.
如果拉取期间的冲突与行尾字符有关:
git config --global core.autocrlf false
Run Code Online (Sandbox Code Playgroud)
这应该避免任何自动 eol 转换。
您可以在“ Why does git think every line of an untouched file haschanged ”中了解更多信息,了解如何在工作树中检测这种情况 ( git diff --word-diff-regex=.)。
| 归档时间: |
|
| 查看次数: |
27196 次 |
| 最近记录: |