3

msysgit で git 拡張機能を実行するには、助けが必要です。拡張機能 git-tfs と git-fetchall で不運に見舞われましたが、どちらの場合も同じ問題です。このアドオンでは、git が見つけられる場所にファイルを配置する必要があります (git-tfs.exe および git-fetchall.sh)。これは、ファイルが「PATH」環境変数にあるディレクトリにある必要があることを意味すると理解しています。どちらの場合も、この時点で行き詰まります。

$ git-diffall
bash: git-diffall: command not found

また:

$ git-tfs
bash: git-tfs: command not found

通常のコマンド シェルから echo %PATH% を実行すると、パス変数に git-diffall と git-tfs があるディレクトリが含まれていることがわかります。どうすればこれをデバッグできますか、または何か不足していますか? コマンド検索パスが期待どおりであることを確認する msysgit 内の方法はありますか?

4

4 に答える 4

8

わかりました、切断が見つかりました。シェルから「echo $PATH」の実行を開始するまで、とらえどころのないものでした(Windowsコマンドシェルからecho %PATH%を実行すると、結果が異なります)。

2 つの問題:

  1. 環境変数を構成したとき、最初はパスの最後に「\」がありました。これにより、echo $PATH が「/c/directory/」ではなく「/c:/directory」のような無効なパス名を表示するようになりました。

  2. Windows UI を介して行われたシステム環境変数への変更を msysgit/bash/git シェルに反映するには、再起動が必要でした。

于 2010-04-18T23:12:25.123 に答える
1

私は今日同じ問題に直面しましたが、解決策はここにないので、2セントを追加します。

Windowsで%HOME%パスが設定されている場合は、次のことを確認してください。

  1. これは、 -system-設定ではなく、 -user-環境設定内で作成されます。git自体はシステム変数を正しく処理しているように見えますが、GitExtensionsはユーザー変数からのみHOMEを取得します。
  2. Gitベースディレクトリと同じではありません。msysgitはC:\Program Files (x86)\Git(またはインストールされている場所ならどこでも)rootとして扱い、コマンドと同じように文字通り/追加します。したがって、もしあなたがそうなら、あなたは明らかに間違っているで始まる$PATHを持っているでしょう。/binPATH=$HOME/bin:$PATH%HOME%C:\Program Files (x86)\Git//bin:
于 2011-06-16T14:42:03.380 に答える
1

$PATH にあることに加えて、それらは実行可能である必要もあります。したがって、Cygwin では (質問で「$PATH」の代わりに「%PATH%」を使用したため、Windows を想定していますが、これは Windows 固有のものです)、プログラムgit-difallが配置されているディレクトリに移動する必要があります。次に、次のように入力します。

chmod a+x git-diffall

また、「.exe」、「.com」、「.bat」などの拡張子を無視する Windows とは異なり、BASH はこれらの拡張子を考慮しますgit-diffall.shgit-diffall.shとしてgit-diffall。として呼び出す場合はgit-diffall、ファイル拡張子を削除するだけです。以下を使用して、Cygwin コマンドラインを使用してこれを行うこともできます。

mv git-diffall.sh git-diffall

また、最初は実際の名前に応じてorchmodを使用する必要があります。git-diffallgit-diffall.sh

于 2010-04-18T22:46:24.383 に答える
0

git 2.0.X/2.1 (2014 年第 3 四半期) 以降、警告git diffall常に" " を返しcommand not foundます: 削除されました。

Jonathan Nieder ( )によるコミット 502b0a1を参照してください(Tim Henigan ( )の支援を受けて):jrnthenigan

contrib: 削除するgit-diffall

git diffall" " スクリプトの機能は、v1.7.11 (2012 年 6 月頃) でオプションが追加されたときに " "contrib/に組み込まれました。これらの機能を学習すると、 スクリプトは時代遅れになりました。git difftool--dir-diff
difftooldiffall

動作の唯一の違いは、作業ツリーと比較するdifftool場合、差分ツールの終了時にユーザーが変更したファイルを作業ツリーにコピーすることです。
" "には、同じことを行うためのオプションがgit diffall必要でした。 他のすべてのオプションは、 で同じ意味を持ちます。--copy-back
diffalldifftool

古いdiffallスクリプトを削除することで、使用するツールを選択する人々の生活を楽にします。リリース ノートのポインタは、現在のユーザーの移行を支援するのに十分なはずです。

于 2014-07-27T08:26:58.487 に答える