2012-10-15 13 views
9

Na OSX, używam diffmerge jako mojego narzędzia dyferencyjnego git. Oto moja .gitconfig:Używanie git z diffmerge bez podpowiedzi i bez aliasu

[diff] 
     tool = diffmerge 
[difftool "diffmerge"] 
     cmd = diffmerge \"$LOCAL\" \"$REMOTE\" 
[alias] 
     d = difftool --no-prompt 

Gdybym po prostu użyć git difftool poprosi mnie do każdego pliku chcę Diff. Aby obejść ten problem, utworzyłem alias git d i dodano flagę --no-prompt.

Czy mogę zapobiec powtórzeniu monitu bez aliasu? Próbowałem wstawiać prompt=false i prompt = NO pod difftool, jak również przesuwając flagę --no-prompt obok polecenia diffmerge, ale żadna z nich nie pomogła.

Odpowiedz

19

przesuwając --no-prompt flagę obok polecenia

--no-promptdiffmerge jest argumentem difftool (jak wspominam w "How do I view 'git diff' output with a visual diff program?").
Więc potwierdzam, że nie zadziała z diffmerge.

starałem wkładając prompt=false i prompt = NO pod difftool

pod [difftool] sekcji bezpośrednio, że powinien działać (nie pod [difftool "diffmerge"])

Widać another approach here, w oparciu o owijarki: które mogą pomóc do debugowania tych poleceń.

git config --global difftool.diffmerge.cmd "diffmerge-diff.sh \"\$LOCAL\" \"\$REMOTE\"" \"\$BASE\"" \"\$MERGED\"" 
git config --global difftool.prompt false 
git config --global diff.tool diffmerge 
git difftool 
+0

Pracowałem świetnie! Dzięki za wyjaśnienie. – Newtang

Powiązane problemy