🕌

[Git].gitignoreを書かずにファイルを無視したい

2021/05/02に公開1

.ideaや.vscodeを無視したい

IntelliJ系IDEの.ideaやVSCodeの.vscodeなど自分用の設定情報を持ったファイルを間違ってコミットしたりしそうになったりしませんか?私はします。

.gitignoreに書いてもいいですが、「チームでPyCharm使ってるの自分だけなのに.gitignoreに.idea/って書くの嫌だなぁ」って思う人もいるでしょう。

そこで、自分の環境だけで特定のファイルを無視する方法を解説します。

[解決] .git/info/excludeに無視したいファイル名を記述する

.git/info/excludeとは

自分の環境だけで無視するファイルを指定できる.gitignoreと思えばOKです。

実際に書いてみる

今回は.ideaフォルダ内のファイル一式を無視する書き方です。
ファイルの指定方法は.gitignoreと一緒でいいと思います。

.git/info/exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~

/.idea

反映されたか確かめる

.gitignore同様書いたら即反映されるので確認してみてください。エディタの機能で確認する時は再起動してみると良いでしょう。

また、既にコミットしたファイルは反映されないかもです。

.gitignoreとの使い分け

.gitignoreはそのプロジェクト全体(全員)で無視するファイルを書くわけですが、線引きは「個人的に無視したいものかどうか」だと思います。
.ideaや.vscodeはそのエディタを使う個人の設定で、IntelliJやVSCodeを使わない人にとっては無縁なファイルです。そんなファイルを.gitignoreに書く必要があるのかどうか、という話です。(自分は別に書いていいと思いますが一般的にどうなんでしょう?)

もしそのプロジェクト全員でIntelliJ系のIDEを使うのであれば.gitignoreに書いたほうが、新しく入った人が間違ってコミットする心配がないと思います。

Discussion

zett-8zett-8

こんな綺麗な解決方法があるとは!
とても助かりました。
.ideaとかを.gitignoreに足すのって躊躇しますよねw