2009-11-30 6 views
80

git statusに無視されたファイルが表示されないようにしたいのですが、のファイルに変更が加えられていますが、更新されていません。無視されたファイルをgitの状態から外しておきます

Gitがこれらのファイルを表示するのは正常ですか?

私はGitのリポジトリのルートディレクトリに.gitignoreファイルの情報を無視してgit add .を使用する際にそれらが追加されていないを置くが、彼らは完全に彼らは、前述のリストに表示として、どちらか無視され、されていないようですgit ls-files --others -i --exclude-standardで印刷されたリストにが表示されません。 ~/.gitignoreのパターンに一致するファイルのみが表示されます。

早い段階で私はそれらを無視せず、少なくとも1回はコミットしたからでしょうか?

答えて

138

in this postのように、.gitignoreは、untrackedファイルでのみ動作します。リポジトリにファイルを追加した場合は、次のことができます。

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

または

git rm --cached <file> 
によってリポジトリから

それらを削除、編集

This article

+0

'git update-index --assume-unchanged 'は動作しませんでしたが(試してみました)、 'git rm --cached 'がそのジョブを実行しました。ありがとう! – knuton

+2

私のためにupdate-indexが機能しました。シンプルな問題は、gitの状態が無視されたファイルを表示している...非常に迷惑な。 +1 –

+1

私はまだこの問題があります。上記のコマンドのどちらも私のために働かなかった。どちらの場合でも、gitは問題のファイルについて知っていませんが、まだgitの状態で表示されています:( – Cfreak

0

から男のgit-lsfiles

-i, --ignored 
Show ignored files in the output. Note that this also reverses any exclude list present. 

は個人的に私は私のソースツリー内のファイルをdoxygenを維持する傾向があるので、私は単に私のソースの最上位ディレクトリにある私の.gitignore(にこれを追加します木):

docs/* 

希望があれば。

0

この

のようなことを説明し
git --ignored myfolder 

そして、私はこの問題が同様に来なければならなかっただけmyfolderなど

8

のステータスが表示されます、それは「追跡する」として、あなたは彼らがマークされた後に.gitignoreためにあなたの無視ディレクトリ/ファイルを追加したので、おそらくです最初のコミットフローでGITによって実行されます。

だから、あなたがそうのようにgitの追跡キャッシュをクリアする必要があります。

git rm --cached -r [folder/file name]

より詳細な説明はここで読むことができます: http://www.frontendjunkie.com/2014/12/stop-git-from-tracking-changes-to.html

上記のコマンドは、フォルダの残骸を削除/あなたのリモートGIT起源からのファイル。あなたのGITレポはきれいになります。

-1

これは確かに動作しますが、

git rm --cached -r [folder/file name]

0

私はあなたがtmpディレクトリ(Visual Studioのプラットフォーム)

1-ローカルの.gitignoreファイルに以下の行を追加を追加しない場合を考え

## ignore tmp 
/tmp/ 
./tmp/ 

3 tmpフォルダをローカルにバックアップして削除します。

4ローカルからリモートへの変更(例:github)をコミットします。

これらの手順の後、tmpディレクトリは再度アップロードされません。

関連する問題