2015-09-13 6 views
5

私はWin7でgit bashを使用しています。競合をマージするときにGit-2.5にアップグレードした後、gitはシェルC:/ Program Files/Git/usr/bin/bashを実行できないと言った。Git-2.5.2.2-64-bitは、コンフリクトをマージするときにvimdiffを使用できません。

私はパスにvimとgitを追加しました。

どのように修正できますか?ありがとう!

enter image description here

enter image description here

+0

git 2.5にアップグレードした後でも同じ問題が発生しました。gvim diffが動作を停止しました。あなたと同じエラー、E810に続いてE97。私は、bashが外部プログラムを呼び出す方法と関係があると信じていますが、これまでのところ解決策は見つかりませんでした。 – roqvist

+0

私はgit-1.9プレビューをインストールするためにロールバックしますが、これはvimdiffでうまくいきます。このエラーについては奇妙です。 – viscroad

+0

私はWindowsでいくつかの他のマージツールを手に入れました。 1つは融合し、もう1つはp4mergeです。後者の方が私にとってはより直感的な方法で動作します。しかし、私はまた、このエラーのためのいくつかの解決策を見つけて、私をvimdiffに戻したいと思っています。 – viscroad

答えて

1

私は自分のvimrcにこれを追加し、それは試してみる

set shell=$COMSPEC 
+0

ありがとう、残念ながら、それは私のためには機能しません。 – viscroad

4

(私はシェル変数が台無しにされたと思います)GIT 2.5で、今私のために働いているようですこのコマンド

MSYS_NO_PATHCONV=1 git mergetool 

Git 2.5.3 Release Notes

+0

私のための秘訣 –

+0

2)MSYS_NO_PATHCONV = 1 git mergetoolを意味していたと思う2) 'git config --global alias.mt MSYS_NO_PATHCONV = 1 git mergetool'のようなエイリアスを使い、' git mt'を使ってください。 'git config --global mergetoolを使ってこれを修正する方法もあるはずです。 vimdiff.cmd 'しかし、私は何を置くべきか分からない。 –

+1

''グローバルに '' MSYS_NO_PATCHCONV = 1'を使用するべきではありません。 '' export''は、それ以降に実行されるグローバルな分割コマンドです。この環境変数を1に設定すると、msys2ランタイムが '/ mingw64/bin /'の形式のPOSIXパスを自動的にそのWindowsに変換するのを防ぎます。これにより、POSIXパスを処理する準備ができていないツールがたくさんあります。たとえば、 'MSYS_NO_PATHCONV = 1 gitk'を試してみてください。何も起動しなくても失敗します。それが正常な正常なデフォルトだった場合は、すでに1に設定されています。使い方は呼び出しごとに行われます。したがって、これをあなたの '.bash_profile'に入れないでください。 – Matt

関連する問題