582

次のコマンドを実行して、特定のディレクトリ/ファイルの監視/追跡を無視しました。

git update-index --assume-unchanged <file>

これを元に戻すにはどうすればよい<file>ですか?

4

11 に答える 11

735

変更されていないと仮定するように設定されているディレクトリ/ファイルを元に戻す/表示するには、次を実行します

git update-index --no-assume-unchanged <file>

assume-unchangedこれを実行するディレクトリ/ファイルのリストを取得するには:

git ls-files -v|grep '^h'
于 2013-06-19T15:58:36.427 に答える
45

git update-index 関数には、以下のように入力できるいくつかのオプションがあります。

git update-index --help

ここにはさまざまなオプションがあります - 関数 update-index で処理する方法。

【ファイル名がわからない場合】

git update-index --really-refresh 

【ファイル名がわかれば】

git update-index --no-assume-unchanged <file>

無視リストに追加されたすべてのファイルを元に戻します。

git update-index --assume-unchanged <file>
于 2014-06-17T10:21:11.427 に答える
40

--assume-unchangedオプションが表示されないので、(へー)あなたが意味したと思い--assume-changedます。の逆は--assume-unchangedです--no-assume-unchanged

于 2013-06-19T15:58:25.427 に答える
22

適用されたすべてのファイルを元に戻したい場合は、キャッシュされているだけでなく、ステータスが変更されていないと仮定します (git は小文字で文字をマークします)、次のコマンドを使用できます。

git ls-files -v | grep '^[a-z]' | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-assume-unchanged
  1. git ls-files -vすべてのファイルをステータスとともに出力します
  2. grep '^[a-z]'ファイルをフィルタリングし、変更されていないと仮定するだけを選択します
  3. cut -c 3-ステータスを削除し、パスのみを残し、3 番目の文字から最後までカットします
  4. tr '\012' '\000'行末文字 (\012) をゼロ文字 (\000) に置き換えます。
  5. xargs -0 git update-index --no-assume-unchangedゼロ文字で区切られたすべてのパスgit update-index --no-assume-unchangedを undoに渡します
于 2016-01-01T07:29:28.030 に答える