自分専用の.gitignore(相当)を使おう

結論

Git管理下のディレクトリにおいて、 .git/info/exclude に指定したファイルは、.gitignore と同様にGit管理から除外されます。

この場合、他のリポジトリ(=リモートや他人のローカル)には影響ありません。

公式ドキュメント
https://git-scm.com/docs/gitignore

本文

まえがき

システム開発をしていると、テスト用のファイルだとか、自分用のメモやスクリプトだとかを使う機会も出てきます。開発しているコードと関連するので同じディレクトリに入れたいです。他のディレクトリに入れるとなくします。

しかし、共同開発者には関係のないファイルをコミットするわけにはいかず、かといって .gitignore に自分専用の設定を書くわけにもいきません。

そこで、 .git/info 以下にある exclude というファイルを使うとこの問題を解決できます。

.git/info/exclude is 何

先述の公式ドキュメントには以下のように書いてあります。

Patterns which are specific to a particular repository but which do not need to be shared with other related repositories (e.g., auxiliary files that live inside the repository but are specific to one user’s workflow) should go into the $GIT_DIR/info/exclude file.

https://git-scm.com/docs/gitignore

超スーパーざっくり訳せば「自分のリポジトリには必要だけど他のリポジトリには不要な設定はこれに指定してね」という感じです。

「テスト用.csv」なるファイルを作ってGit管理下のディレクトリに保存したとして、これをGit管理から除外したいです。

任意のエディタで .git/info/exclude を開きます。わたしはVisual Studio Codeです。

$ code ./git/info/exclude

こんな感じで開くので、普通の .gitignore と同じように追記して保存するだけです。

まとめ

.git/info/exclude を使えば、リポジトリを散らかしても git add で苦労することはありません。

機能を便利に使って効率よく業務を遂行したいものですね。
それでは。