.gitignoreをGitリポジトリにコミットする必要がありますか?


回答:


489

通常、はい、.gitignoreリポジトリを操作したいすべての人に役立ちます。時々、あなたはもっとプライベートなものを無視したいでしょう(たぶんあなたはLOG何かを作成したり、何かをしたりします。それらのケースではおそらく他の人にそれを強制したくないでしょう)。


137
+1「プライベートなもの」は$GIT_DIR/info/excludeまたは~/.gitconfigファイルで適宜言及できます。
WReachは、

5
既にファイルをチェックインしていて、それを無視したい場合、後でルールを追加しても、Gitはファイルを無視しません。これらのケースでは、あなたのターミナルで次のコマンドを実行して、最初のファイルをuntrack必要があります:git rm --cached FILENAME
イーライ-BD

133

通常コミットし.gitignoreます。実際、私は個人的に、自分が何かに取り組んでいないときは、常にインデックスがクリーンであることを確認しています。(git status何も表示されないはずです。)

プロジェクトに固有のものではないものを無視したい場合があります。たとえば、テキストエディターが自動*~バックアップファイルを作成する場合や.DS_Store、OS Xによって作成されるファイルが別の例になる場合があります。

私は、他の人があなたのを乱雑にするそれらのルールについて不平を言っている場合は.gitignore、それらを除外し、代わりにグローバル除外ファイルに入れます。

デフォルトでは、このファイルは$XDG_CONFIG_HOME/git/ignore(デフォルトでは~/.config/git/ignore)にありますが、この場所はcore.excludesfileオプションを設定することで変更できます。例えば:

git config --global core.excludesfile ~/.gitignore

単純にグローバルexcludesfileを作成して編集して、思いのままにしてください。そのマシンで作業するすべてのgitリポジトリに適用されます。


14
ファイルにいつでも# some comment行を追加して、何かを無視している理由.gitignoreを説明できます。すべての行をコメントすることはやり過ぎのビットですが、私はラベルされたセクションを持っている持って、と。そうすれば、誰かが別のOSまたはIDEを使用したい場合は、セクションを追加して、全員で共有できます。# IDE (Eclipse)# OS (Mac OS X)# Generated (Perl)
スチュアートR.ジェフリーズ2012

9
「私が何かに取り組んでいないときは、自分のインデックスが常にクリーンであることを個人的に確認します(git statusは何も表示しないはずです)。」
SGhosh

4
Nb。最新のGitのデフォルト値core.excludesfileはで~/.config/git/ignore、XDGベースディレクトリ仕様に準拠しています
JakubNarębski14年

1
+1 for .gitignoreglobal-プッシュされた.gitignoreファイルの内容またはプッシュする必要があるかどうかについて作業している人々が意見を異にする場合、非常に有益であり、さまざまな種類のノイズを生成するさまざまな開発環境を使用しています。
Krease 2017

1
davidwalsh.name/global-gitignoreグローバル無視に関するいくつかの詳細情報
Frode Akselsen

11

私はコミット.gitignoreを配置しました。これは、次のファイルが派生し、無視する必要があるという私のプロジェクトを構築する可能性がある他の人への礼儀です。

私は通常ハイブリッドをやっています。makefileは.gitignoreファイルを生成するようにしたいのは、makefileがプロジェクトに関連するすべてのファイルやその他のファイルに関連付けられているためです。次に、チェックインする最上位のプロジェクト.gitignoreを用意します。これにより、さまざまなサブディレクトリのmakefileによって作成された、生成された.gitignoreファイルが無視されます。

したがって、私のプロジェクトでは、ビルドされたすべての実行可能ファイルを含むbinサブディレクトリがある可能性があります。次に、メイクファイルでそのbinディレクトリの.gitignoreを生成します。そして、トップディレクトリの.gitignoreには、bin / .gitignoreがリストされています。一番上ののは私がチェックインしたものです。


0

.gitignoreのコミットは非常に便利ですが、特にブランチ間を定期的に切り替える場合は、その後あまり変更しないようにする必要があります。その場合、ブランチではファイルが無視され、他では無視されない場合があります。追跡されていないファイルを上書きするためチェックアウトが失敗したため、作業ディレクトリ内のファイルを手動で削除または名前変更する必要があります。

したがって、はい、.gitignoreをコミットしますが、それ以降はそれほど変更されないことを合理的に確信するまでは。


-6

それはすることをお勧めします.gitignore 少なくともビルド製品(プログラム、* .oの、など)。


11
それは質問に答えませんでした:.gitignore それ自体は " .gitignore'd"である必要がありますか?
Charles Wood

6
ご注意、ご質問ではなかった、これはない頼まれた何の答えは:「Gitのリポジトリに.gitignoreをコミットする[それは]良い習慣ですか」。
papercowboy 2013

5
@cayuu私は答えが「.gitignoreするのは良い習慣です」と言っていると思いますxyz、私はそれがどのように質問に答えるかわかりません。問題は、.gitignoreをバージョン管理するかどうかです。
ナイトグラフ2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.