我在当地分行做了一些改动。我没有承诺。我刚刚将所有更改编入索引并将其移至存储区。 现在我做了一个
git pull
git pull之后我做了
git stash apply
现在有一些冲突。在eclipse中,我能够以正常的git格式看到冲突
<<<< Updated Upstream
ksldjflsdk
sdlkfjdslk
sdlkfjsdlk
===========
sdlkfjdslk
dslkfjdslkfj
dsklfjsdlkjf
>>>>> Stashed Changes
现在有一些文件存在很多冲突。我很难向上看和合并。有没有办法可以将当前的合并流程移到超出比较的地步。
我使用的是git版本1.8.3和Beyond Compare 3.2.3
答案 0 :(得分:15)
我假设你可以从命令行启动Beyond Compare,而且你在Windows上。您可以将以下行添加到全局.gitconfig
文件中:
[merge]
tool = bc3
[diff]
tool = bc3
[difftool "bc3"]
cmd = "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\""
[mergetool "bc3"]
cmd = "\"c:/program files (x86)/beyond compare 3/bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
编辑:添加Mac命令straight from site:
git config --global diff.tool bc3
git config --global merge.tool bc3
git config --global mergetool.bc3.trustExitCode true
然后您可以使用以下命令简单地启动冲突解决:
git mergetool # Starts Beyond Compare for all conflicted files, one at a time.
git mergetool -- <file> # Starts B.C. just for the specified file.
答案 1 :(得分:1)
只是基于先前答案的更新,其用户似乎处于非活动状态 - 请投票支持另一篇文章 - 对于 Beyond Compare 4 将是(唯一的区别是默认目录中包含 4 而不是 3 和 bcomp.exe变成 bcompare.exe) [编辑:Windows 机器上的全局 .gitconfig 通常在用户的主目录中,即 ~ 在 Git Bash 或类似 C:\Users\YourUserName 的东西]
[merge]
tool = bcompare
[diff]
tool = bcompare
[difftool "bcompare"]
cmd = "\"c:/program files/beyond compare 4/bcompare.exe\" \"$LOCAL\" \"$REMOTE\""
[mergetool "bcompare"]
cmd = "\"c:/program files/beyond compare 4/bcompare.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\""
还有 git mergetool 似乎生成以 .orig 结尾的备份文件 - BC 不必对它做任何事情。 Here 有一个建议是事后删除这些文件并单独保留全局 git 设置(语法适用于 Git Bash):
find . -name *.orig -delete