myn*_*EFF 28 meld atlassian-sourcetree
我的.gitconfig文件中有以下内容:
[user]
name = myname
email = myname@gmail.com
[core]
autocrlf = true
excludesfile = C:\\Users\\myname\\Documents\\gitignore_global.txt
[diff]
tool = meld
[difftool "meld"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe"
prompt = false
[merge]
tool = meld
[mergetool "meld"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe"
[difftool "sourcetree"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE"
[mergetool "sourcetree"]
cmd = 'C:/Program Files (x86)/Meld/meld/meld.exe' \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
trustExitCode = true
Run Code Online (Sandbox Code Playgroud)
在Sourcetree中,我有以下设置:

但是,当我右键单击Sourcetree上的文件来执行外部差异时,我能够打开Meld,但文件的内容根本没有显示.

我在设置中做错了什么?
Par*_*Sen 28
我觉得现有的答案略微忽略了这一点.这是我自己的狗粮:
参数详情:
Diff: $LOCAL $REMOTE
Merge: $LOCAL $BASE $REMOTE --auto-merge --output=$MERGED
Run Code Online (Sandbox Code Playgroud)
因为External Diff,您需要从参数列表中删除$ BASE.
对于3向合并,您需要单击该External Merge Tool选项,该选项仅在存在任何未解决的冲突时才可用.
如果您不限于Sourcetree + Meld,我认为Git Extensions + KDiff3套件也可以是一个很好的开源替代品.
Joz*_*ény 20
这里使用的实际设置是为了实现真正的3向合并,只读了THEIRS和MINE选项卡是这样的:
$LOCAL $BASE $REMOTE --auto-merge --output=$MERGED
Run Code Online (Sandbox Code Playgroud)
注意=后--output.
我终于通过挖掘关于这个问题的第二个答案的评论来得到这个命令.Git使用Meld合并.
对于OS X,它看起来像这样:
差异命令:meld.
@LOCAL @REMOTE合并命令:meld.
$LOCAL $BASE $REMOTE --auto-merge --output=$MERGEDPS
要从命令行使用它,您必须通过brew安装它:
brew install meld
尝试将 meld.exe 的位置添加到您的 PATH 中(例如 C:\Program Files (x86)\Meld),然后在Diff Command中,只需输入 meld 而不是完整路径。请参阅要点如何在 Windows 上将 meld 与 Sourcetree 结合使用。
| 归档时间: |
|
| 查看次数: |
12854 次 |
| 最近记录: |