2011-08-29 6 views
65

私は既にGitリポジトリにコミットされているファイル(config.php)を持っていますが、ローカルで無視したい、つまりそのファイルをリポジトリに残しておき、Gitにその変更を無視させます。リポジトリにあるファイルを無視するには?

私はファイルを.gitignoreに入れましたが、まだ変更されているとマークされており、コミットするたびに変更をコミットしようとしています。どんなアイデアでも、何が欠けているのか、あるいは間違っているのか

+0

.gitignore-fileを追加してください。問題が発生する可能性があります。 – Lars

+0

[前のコミットですでにコミットされているファイルを無視する方法については、どうすればよいですか?](http://stackoverflow.com/questions/625919/how-to-ignore-a-file-which-is-already-comitted -in-the-previous-commit) –

答えて

143

ファイルがまだステータスで表示されている場合、ファイルが.gitignoreにあるにもかかわらず、まだ追跡されていないことを確認してください。

git rm --cached config.php 

あなただけのローカルでそれを無視したい場合、あなたはまた、それはgitの状態によって無視作ることができます。ファイルがリポジトリ内にすでにある場合

git update-index --assume-unchanged config.php 
+1

ありがとう!ブランチを別のブランチにマージすると、このファイルはいくつかの問題を引き起こす可能性がありますか? – prcaen

+1

@ Nimbus147:それは問題ではないはずです。そのファイルの変更は無視されます(つまり、追加/コミットされません)。 – VonC

+4

'assume-unchanged'がうまくいきます。ありがとうございます –

-3

ファイルが.gitignoreにリストされると、それを変更することはできません。

1回のコミットでファイルをリストから削除することができます。コミットすると次のファイルが変更され、後で3回目のコミットでファイルが無視リストに追加されます。

私は通常、ファイルを2つに分割します.1つは許可され、変更することができます。存在する場合は2番目のファイルが含まれ、devsはオプションで無視されたファイルの設定を変更できます。

+1

"ファイルが.gitignoreにリストされていれば、それを変更することはできません。" - 明確にすることはできますか?私は '.gitignore'の多くに**たくさんのファイル**を持っており、私はこれらのファイルを絶えず変更しています!これは初めてのことですが、 '.gitignore'にファイルを追加すると、それを変更することはできません。 – trejder

+1

彼は実際には間違っています。あなたはそれらを変更することができます。 Gitはそれらをアップロードせず、アップロードするオプションも与えます。 – David

2

、ひいてはインデックス/ステージングエリア.gitignoreを更新してもその状況は変わりません。コミットし続けるでしょう。

インデックス/ステージング領域からファイルを削除するには、git rm <file>を使用します。

関連する問題