web-dev-qa-db-ja.com

Gitで変更された(コミットされていない)ファイルを無視しますか?

変更(削除)されたがコミットすべきではないファイルを無視するようにgitに指示できますか?

状況は、私がまったく興味のないものを含むサブディレクトリをリポジトリに持っているということです。そのため、オートコンプリートなど(IDEで)に表示されないように削除しました。

しかし、今、そのフォルダーを.gitignoreに追加すると、何も変更されず、すべてのものがgit statusによって削除されたものとして表示されます。

Gitにそれを無視させる方法はありますか?

(または、git-svnを使用しているときに、ローカルgitに変更をコミットして、svnリポジトリに渡されないようにすることはできますか?)

170
John Doe

git-update-index man page および--assume-unchangedビットと関連するものをチェックしてください。

あなたの問題があるとき、私はこれをします

git update-index --assume-unchanged dir-im-removing/

または特定のファイル

git update-index --assume-unchanged config/database.yml
258
csmosx

より新しく、より良いオプションはgit update-index --skip-worktreeこれは、ハードリセットまたはプルによる新しい変更で失われません。

http://schacon.github.com/git/git-update-index.html のmanページを参照してください

http://fallengamer.livejournal.com/93321.html での比較

38
Dave L.

追跡されたファイルは無視できないため、最初にインデックスから削除する必要があります。不要なディレクトリを無視する.gitignoreを追加してから削除し、git rm --cachedでストラグラーを削除します。

6
John Feminella

私が普段やっていることは

git stash

gitwhatever-else

git stash apply

git stash clear

5
Walter

このコードを使用

git update-index --assume-unchanged file-name
4
Sujiraj R