git 无法解决 rebase 冲突,因为 mergetool 没有 pop

标签 git visual-studio merge git-merge rebase

我正在使用主分支在当前分支“MyUseCaseTest”中执行 rebase 。

我遇到了 merge 冲突,我尝试使用我配置的 mergetool(vsdiffmerge)来解决这些冲突。这是 .gitconfig 文件

[diff]
    tool = vsdiffmerge
[difftool]
      prompt = false
[difftool "vsdiffmerge"]
      cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$LOCAL" "$REMOTE" //t
      keepbackup = false
      trustexitcode = true
[merge]
      tool = vsdiffmerge
[mergetool]
      prompt = false
[mergetool "vsdiffmerge"]
      cmd = '"%VSINSTALLDIR%Common7/IDE/vsdiffmerge.exe"' "$REMOTE" "$LOCAL" "$BASE" "$MERGED" //m
      keepbackup = false
      trustexitcode = true

以下是我尝试让 vsdiffmerge 工具 pop 的命令,

git mergetool
git mergetool -t vsdiffmerge

但他们没有,而是给出了这个错误

$ git mergetool -t vsdiffmerge
Merging:
src/OneDirection.cs
src/CustomBatch.cs

Normal merge conflict for 'src/OneDirection.cs':   
{local}: modified file   
{remote}: modified file 
/libexec/git-core/git-mergetool--lib: line 136: fg: no job control 
merge of src/OneDirection.cs failed 
Continue merging other unresolved paths (y/n) ?

我点击是并得到同样的错误,但对于另一个文件。我不知道出了什么问题以及如何解决。手册没有解释这种情况。我找不到任何解释发生了什么或如何修复它的内容。

请帮忙。

最佳答案

我遇到了类似的问题,orad 的回答为我指明了正确的方向 - 路径是问题所在(我仍然不习惯 linux 风格的路径......),最终对我有用的是:

[diff]
    tool = vsdiffmerge
[difftool]
  prompt = false
[difftool "vsdiffmerge"]
    cmd = \"C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsdiffmerge.exe\" "$LOCAL" "$REMOTE" //t
    keepbackup = false
    trustexitcode = true
[merge]
    tool = vsdiffmerge
[mergetool]
    prompt = false
[mergetool "vsdiffmerge"]
    cmd = \"C:/Program Files (x86)/Microsoft Visual Studio 14.0/Common7/IDE/vsdiffmerge.exe\" "$REMOTE" "$LOCAL" "$BASE" "$MERGED" //m
    keepbackup = false
    trustexitcode = true

尽管能够使用 %VSINSTALLDIR% 来避免绝对文件路径真的很好。感谢Mark Kadlec用于显示正确的语法。

关于git 无法解决 rebase 冲突,因为 mergetool 没有 pop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30845269/

相关文章:

c++ - Jenkins 中的 Visual Studio 代码分析

windows - windows下如何正确构建opencv得到 "opencv_createsamples.exe"

r - 根据自定义条件合并数据框 - 字符串比较

C++:合并两个以元组为元素的 vector

git - 我如何在 AzureDevOps 存储库中实现/设置 GitFlow,并在 master 和 develop 上使用 PR 分支策略?

还显示远程库的 Git merge 工具

javascript - VS 2017基本Web项目模板

regex - 如何使用正则表达式将所有内容移动到 Notepad++ 中的一行

git - 如何在 SourceTree 本地 checkout fork 的 pull 请求?

git - 在克隆 bitbucket 存储库时连接后从代理接收到 HTTP 代码 302