32
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

お題は不問!Qiita Engineer Festa 2023で記事投稿!

【Git】gitignore がなぜか反映されない問題、既に tracked だからでした

Last updated at Posted at 2023-06-11

🎯 結論

gitignore で実現できるのは
未追跡 (untracked) のファイルに対して無視を決め込むこと』であって
『追跡 (tracked) されているファイルを未追跡 (untracked) にすること』ではない。

だから、既に tracked なファイルは
(例:一度 git add してステージングしたことのあるファイル)
後から .gitignore に追加しても意図通りに無視されない。

既に tracked なファイルについては
git rm --cached {file_path} コマンドを使用して
指定したファイルを [tracked (追跡) → untracked (未追跡)] にすることで
git の追跡対象から外すことができる。

🔍 詳細

自分の備忘録も含めた内容となっており
気張らずゆるく書いた内容ですので悪しからず🙏

経緯

僕は GoogleAppsScript の開発をするに際して、
いつもローカルで GoogleAppsScript の開発を行えるテンプレートを使用しています。
(自分で作ったやつです)

こちらの記事でも紹介しておりますのでよろしければご覧ください。
【TypeScript + Webpack】今すぐ誰でも、ローカルで GoogleAppsScript の開発を始められるテンプレート (初心者向け)

本来は GAS プロジェクトを TypeScript で開発するために作ったものですが、
最近は TypeScript はめっきり使わなくなり
ただの『ローカルで GoogleAppsScript の開発を行えるテンプレート』に成り下がっています。

--

そんなテンプレートをいつも通り github から clone して
開発を行なっていたところ事件が起きました。

(これまでも同様の事件は起きていたのですが「変だなあ...」と思いつつ無視していました)

起きていたこと

.gitignore ファイルの中で変更を追跡してほしくないファイルを指定していたが
なぜか変更が追跡され続けていた。
(具体的には .clasp.json というファイル)

問題

.clasp.json は git 管理下に置きたくないのに git に変更が追跡されてしまっている

自分で気をつけて commit, push しなければいいだけの話かもしれないが、
そこに気を張り続けるのも疲れるし、何より人間である私がいつミスをしでかすか分からない。

↑ こういった悩みを解消するために .gitignore ファイルで
.clasp.json を追跡対象から外すように設定したにも関わらず、
変更が追跡され続けているのは誠に遺憾

原因

.clasp.json が既に tracked なファイル
(例:一度 git add してステージングしたことのあるファイル) であること。

.clasp.json は github から clone してきたプロジェクトの中に存在しているわけですから、
tracked なファイルであることは自明です。

解決策

git rm --cached {file_path} コマンドを利用して
指定したファイルを [tracked (追跡) → untracked (未追跡)] にすることで
git の追跡対象から外す

そうすると、ちゃんと gitignore が効くようになる。
( gitignore で実現できることは『未追跡 (untracked) のファイルに対して無視を決め込むこと』だから)

📚 参考

32
33
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?