シナリオは次のとおりです。
私の作業ディレクトリには、編集したファイル(A、B、Cと呼びましょう)がいくつかあります。次に、それらのファイルに対してgit update-index --assume-unchanged
を実行しました。これで、git status
は空白を返します。良い。
ここで、git reset --hard
を実行すると、ファイルA、B、およびCの内容は、編集して「変更しない」前の内容に戻ります。
Gitが実際にファイルA、B、Cを元に戻すのを止めて、単にそれらを無視する方法はありますか?
ありがとう、
ケン
できるよ:
git update-index --skip-worktree A
それらを無視したい場合は、それらのファイルに.gitignore
ファイルエントリを追加する必要があります。 .gitignore
ファイルだけを追加してコミットすると、それらへの変更はすべて無視されます。
ただし、なぜそれを行っているのか、ファイルの内容、ファイルの性質(アーティファクトですか?)を教えてください。そうすれば、適切な答えが得られます。
また、update-index
とassume-unchanged
は、OSのファイルシステム上のツリーが特定のパスの変更を収集するのに長い時間がかかる場合にパフォーマンスを向上させるために使用されます。 git status
やgit diff
などのコマンドの実行時間が長いためにこれらのファイルを無視しない限り、このファイルを使用することはお勧めしません。
あなたが使うことができます
$ git stash
$ git reset --hard
$ git stash pop