2016-12-15 9 views
0

私のプロジェクトディレクトリにtst.propというファイルがあり、リポジトリにコミットしたくありません。私はに行を置いています。それはまだそこにあるのはなぜ.git/info/excludeの宣言はステージングから除外しません

modified: tst.prop 

:私はgit statusコマンドを入力すると、私はまだラインを持っていますか?この問題を解決するには?

+1

[Gitリポジトリに既にコミットされているファイルを無視する](http://stackoverflow.com/questions/1139762/ignore-files-that-have-already-bat-committed-to-a- git-repository) – axiac

答えて

0

それはgitignore fileの文書の最初の段落で説明されています。

gitignoreファイルはGitは無視すべきで意図的に追跡されていないファイルを指定します。既にGitによって追跡されているファイルは影響を受けません。それはGitはすでに(それが追加され、過去に犯した)ファイルを追跡する意味modifiedとしてgit status以来

はあなたのファイルを報告します。あなたがファイルを置いているため、しかし

git rm --cached tst.prop 
git commit 

:あなたは、インデックス(Gitは次のコミットを準備する区域)にその除去を追加する必要があり、それを忘れてGitのを強制するために

は、その変更をコミット.git/info/excludeで、今後Gitはあなたのローカルリポジトリでのみそれを削除します。彼らが中央のリポジトリから最新の変更(ファイルの削除)を引っ張った後、あなたの協力者はそのファイルを「untracked」とし、たぶんそれらを再びリポジトリに追加します。

プロジェクトに協力するすべての人にファイルを無視させたい場合は、.gitignoreに入れて、.gitignoreをリポジトリに追加してコミットしてください。上で説明したように、インデックスからファイルを削除することを忘れないでください。

関連する問題