あなたはGitリポジトリに.gitignoreをコミットするのは良い習慣だと思いますか?
気に入らない人もいますが、ファイルの履歴を追跡できるので良いと思います。そうではありませんか?
通常、.gitignore
はリポジトリを操作したいすべての人に役立ちます。時にはもっとプライベートなものを無視したいと思うかもしれません(たぶんあなたはLOG
か何かを作成するでしょう)。
通常は.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リポジトリに適用されます。
私は自分のプロジェクトをビルドする可能性がある他の人に敬意を表してコミット.gitignoreを入れました。
私は通常ハイブリッドをやっています。 makefileは、プロジェクトに関連した、またはその他の方法で関連付けられたすべてのファイルを認識するので、makefileに.gitignoreファイルを生成させるのが好きです。それからあなたがチェックインするトップレベルのプロジェクト.gitignoreを持ってください、それは様々なサブディレクトリのためのmakefileによって作成された生成された.gitignoreファイルを無視します。
だから私のプロジェクトでは、私はすべての構築された実行可能ファイルを含むbinサブディレクトリを持っているかもしれません。それから、メイクファイルにそのbinディレクトリ用の.gitignoreを生成させます。そして最上位ディレクトリの.gitignoreにbin/.gitignoreがリストされています。一番上のものは私がチェックインしたものです。