web-dev-qa-db-ja.com

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

あなたはGitリポジトリに.gitignoreをコミットするのは良い習慣だと思いますか?

気に入らない人もいますが、ファイルの履歴を追跡できるので良いと思います。そうではありませんか?

440
Howard

通常、.gitignoreはリポジトリを操作したいすべての人に役立ちます。時にはもっとプライベートなものを無視したいと思うかもしれません(たぶんあなたはLOGか何かを作成するでしょう)。

442
Bruce Stephens

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

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

他の人があなたの.gitignoreをめちゃくちゃにしているそれらの規則について不平を言うならば、私は言うでしょう、代わりにそれらをグローバルなexcludeファイルに入れてください。

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

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

あなたの心の内容に合わせてグローバルのexcludedesfileを作成して編集するだけです。そのマシン上で作業しているすべてのgitリポジトリに適用されます。

123
Stéphan Kochen

私は自分のプロジェクトをビルドする可能性がある他の人に敬意を表してコミット.gitignoreを入れました。

私は通常ハイブリッドをやっています。 makefileは、プロジェクトに関連した、またはその他の方法で関連付けられたすべてのファイルを認識するので、makefileに.gitignoreファイルを生成させるのが好きです。それからあなたがチェックインするトップレベルのプロジェクト.gitignoreを持ってください、それは様々なサブディレクトリのためのmakefileによって作成された生成された.gitignoreファイルを無視します。

だから私のプロジェクトでは、私はすべての構築された実行可能ファイルを含むbinサブディレクトリを持っているかもしれません。それから、メイクファイルにそのbinディレクトリ用の.gitignoreを生成させます。そして最上位ディレクトリの.gitignoreにbin/.gitignoreがリストされています。一番上のものは私がチェックインしたものです。

11
Bitdiot