web-dev-qa-db-ja.com

無視されたファイルをgitステータスにしない

Gitがgit statusで無視されたファイルを表示しないようにしたいのは、Changedのリストに大量のドキュメントと設定ファイルがありますが、更新されていないファイルがリストをレンダリングするためです役に立たない。

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

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

それは、初期の段階でそれらを無視せず、少なくとも一度はコミットされたからでしょうか?

114
knuton

この投稿で.gitignoreは、追跡されていないファイルに対してのみ機能します。リポジトリにファイルを追加した場合、次のことができます。

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

または、リポジトリから削除します

git rm --cached <file>

編集

この記事 も説明しています

203
MBO

この問題も発生しました。おそらく、最初のコミットフローでGITによって「追跡対象」としてマークされた後、無視されたディレクトリ/ファイルを.gitignoreに追加したためです。

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

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

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

上記のコマンドは、リモートGIT Originからフォルダー/ファイルの残りも削除しました。したがって、GITリポジトリはクリーンになります。

13
newbreedofgeek

問題は、このファイルがまだgitキャッシュにあることです。この問題を解決するには、gitキャッシュをリセットする必要があります。

Gitキャッシュをリセットします。これにより、インデックスからすべてが削除されます。

git rm -r --cached . 

すべてのファイルを再度追加します。

git add . 

コミット:

git commit -m ".gitignore was fixed." 
4
Ramis

これは確かに機能しますが、

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

1
Usman

Tmpディレクトリを追加しないことを想定しています(Visual Studio Platform)

1-以下の行をローカルの.gitignoreファイルに追加します

## ignore tmp
/tmp/
./tmp/

3-ローカルでtmpフォルダをバックアップおよび削除します。 (別の場所にバックアップします。例えば、デスクトップですか?)

4-リモートへの同期よりもローカルへの変更をコミット(例:github)。

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

1
Kursat Turkay

man git-lsfilesから:

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

個人的には、ソースツリーにdoxygenファイルを保持する傾向があるため、これを.gitignore(ソースツリーの最上位ディレクトリにあります)に追加しました。

docs/*

お役に立てば幸いです。

0
BastiBen

このような

git --ignored myfolder

myfolderのステータスのみを表示します

0
Alex

次の手順は、追跡されていないファイルのみで機能します。この情報は、次の構成に適用されます。

Platform: linux

Git version: git version 1.8.3.1

次の場所にある「除外」ファイルに無視するファイルのリストを入れます。

<path till .git directory>/.git/info/exclude

「除外」ファイルの初期内容

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

「除外」ファイルの最終コンテンツ

# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~


*.tar
*.gch
0
harshul ar