4

私はvimdiffgitのmergetoolとして設定しました。マージを行うたびに、git はマージが成功したかどうかを確認しません。私も試しました:

git config --global mergetool.vimdiff.trustExitCode false

違いはありません。vimdiffを残した後も、古いファイル:wqaを手動で削除する必要があることに疑問の余地はありません。*.orig

おそらく関連しています:構成設定trustExitCodeを表示すると、キャメルケースで表示されなくなりました:

git config --global -l

core.editor=vim
core.autocrlf=input
merge.tool=vimdiff
alias.co=checkout
alias.st=status
color.diff=auto
color.status=auto
color.branch=auto
mergetool.vimdiff.trustexitcode=false

これはどのように修正できますか?

4

3 に答える 3

4

これは古い質問であることは知っていますが、同じ問題に遭遇しました。

古いバックアップ ファイルを手動で削除する部分は、次の方法で修正できます。

git config --global mergetool.vimdiff.keepBackup false

他の問題は、trustExitCodeあなたが思っていることをしないことだと思います:

mergetool.<tool>.trustExitCode

カスタム マージ コマンドの場合、マージ コマンドの終了コードを使用して、マージが成功したかどうかを判断できるかどうかを指定します。これが true に設定されていない場合、マージ ターゲット ファイルのタイムスタンプがチェックされ、ファイルが更新されている場合はマージが成功したと見なされます。それ以外の場合は、マージの成功を示すように求められます。

したがって、このオプションが false に設定されていても、ファイルが変更されていない場合にのみプロンプトが表示されます。

于 2013-03-14T23:41:44.950 に答える
3

これがあなたの質問に対する答えではないことはわかっていますが、Fugitiveという vim プラグインをチェックアウトする必要があると思います。

vimdiff とのマージ競合の解決に関するスクリーンキャストもあります

基本的には、ターミナルにあるすべて (またはほとんど) の git 機能を提供しますが、vim 内では本当に理にかなった方法で提供されます。お役に立てば幸いです:D.

于 2011-09-03T03:23:20.077 に答える