在水銀,可以定義爲外部DIFF模式和(僅用於匹配指定的模式文件,以便它們的稱呼)合併工具:混帳:爲difftool配置模式和合並工具
[diff-patterns]
**.ext = difftool
[merge-patterns]
**.ext = mergetool
如何定義這種模式在Git?
[合併工具]在GIT-配置部分(1)沒有提到任何圖案,掩模或類似點兒。
編輯:
這裏是我的.git/config中的相關部分:
[diff]
tool = difftool
[difftool "difftool"]
cmd = difftool.git.sh "$LOCAL" "$REMOTE" "$BASE"
[merge]
tool = mergetool
[mergetool "mergetool"]
cmd = mergetool.git.sh "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
現在,它適用於所有文件。
我希望我的difftool和合並工具被稱爲僅的文件與.ext
編輯結尾的名稱:
我添加了一個文件的.git /信息/用以下內容屬性:
*.ext diff=difftool
*.ext merge=mergetool
我還添加了
[diff "difftool"]
name = my custom diff driver
driver = difftool.git.sh %A %B %O
[merge "mergetool"]
name = my custom merge driver
driver = mergetool.git.sh %A %B %O %A
我的.git/config。
現在我跑
git difftool
它調用,而不是我的difftool KDiff3。我做錯了什麼?
備註:我使用difftool而不是mergetool,因爲它更容易測試,我相信如果我設法配置difftool,那麼配置mergetool將會很明顯。
編輯:
Difftool現在的作品。
的.git /配置:
[diff "difftool"]
command = difftool.git.sh
的.git /信息/屬性:
.ext diff=difftool
difftool.git.sh(在PATH)
#!/bin/sh
difftool.jar "$2" "$5"
但是有一個Windows上的副作用:git diff
現在導致APPCRASH。
編輯:
我想通了如何避免碰撞或懸掛的git diff
:應該使用git difftool
或致電git diff
通過sh
:sh -c "git diff"
這是否也適用於差異驅動程序?無法設法使其工作。我真的需要一個簡單的樣本。 – utapyngo