Gitでファイルを除外する適切な方法

時々、 .gitignoreファイルに、 .gitignore存在しないはずの.gitignoreを見つけます。 たとえば、JetBrainsのよく知られているIDEの構成が置かれている.ideaフォルダー。 これは作業環境の一部であり、プロジェクトやリポジトリには一切関係しません。 複数の人がプロジェクトで作業し、それぞれが自分の環境の設定を.gitignoreに追加すると、読み取り不可能なガベージダンプになります。

このトピックでは、ファイルを除外する正しい方法と、どの方法を使用するかについて説明します。

リポジトリ例外


このプロジェクトに固有で作業環境(ログ、サードパーティユーティリティなど)に固有のファイルがある場合は、 .git/info/exclude使用します。 このファイルはコミットされず、ローカルリポジトリにのみ残ります。

コンピューターの例外


複数のプロジェクトがあり、どこでもコミットしたくないもの(たとえば、* .swp Vimファイル)が作成される場合は、 ~/.gitconfig使用します。 各プロジェクト用に作成された上記の例の.ideaフォルダーは、ここにちょうど収まります。 .gitexcludesファイルを作成して実行します:

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

または、手動で~/.gitconfig追加し~/.gitconfig
 [core] excludesfile = ~/.gitexcludes 

~/.gitconfig保存した直後は、指定されたファイル/フォルダーが[未追跡ファイル]リストに表示されないはずです。

Gitは大好きですが、詳細が一貫していない場合があります。 最初のケースでは.git/info/excludeファイル(最後にsなし)を編集し、2番目のexcludeSfileexcludeSfileオプション(中央のc)を使用していることに注意してexcludeSfile 。 タイプミスの可能性があるため、時間を無駄にしないでください。

ほとんどの場合、Gitを使用するということは、チームとして働くことを意味するため、作業環境の詳細で作業する人の生活を複雑にしないでください。 良いコミット! :)

Source: https://habr.com/ru/post/J202696/


All Articles