2

WindowsでGITを使用しています。小文字のディレクトリ名を含むすべてのコミットでリポジトリ内のディレクトリを検索するにはどうすればよいですか? 例私は次のファイルを持っています

  • Test1\MyDirectory\Testfile.txt
  • test2\mydirectory\Testfile.txt
  • Test3\mydirectory\Testfile.txt
  • test4\mydirectory\Testfile.txt
  • test5\mydirectory\Testfile.txt

検索により、次の結果が返されます。

  • test2\mydirectory\Testfile.txt
  • test4\mydirectory\Testfile.txt
  • test5\mydirectory\Testfile.txt
4

2 に答える 2

0

大文字と小文字の不一致を無視するように git に指示できます。

  1. git config --global core.ignorecase true(グローバルに設定するには)
  2. git config core.ignorecase true(特定のリポジトリ用)
于 2012-05-29T05:55:30.753 に答える
0

このスレッドは、大文字と小文字を除いて同一のすべてのパスを検出するのに役立つ場合があります。

できるよ:

git ls-files | tr A-Z a-z | sort | uniq -d

しかし:

  1. すべてのバージョンではなく、小文字のバージョンのみを出力します。
  2. 改行が埋め込まれたファイル名は処理しません。

次のような方法で両方を修正できます。

  git ls-files -z | perl -0ne '
    push @{$h{lc($_)}}, $_;
    END {
      print join("\n", @{$h{$_}}) . "\n\n"
        foreach grep { @{$h{$_}} > 1 } keys(%h);
    }
  '

スレッドの残りの部分では、git ls-files(遅くなる可能性がある) と のメリットについて説明しgit ls-tree -r <commit>ます。

于 2012-06-03T16:29:03.523 に答える