36
23

More than 1 year has passed since last update.

.gitignoreしたファイルをレポジトリから削除する方法

Last updated at Posted at 2019-05-16

はじめに

はじめまして株式会社ナイトレイの渡辺です。
この記事では「.gitignoreしたファイルをリポジトリから削除する方法」をまとめます。具体的には、git管理対象から外したファイルやディレクトリをインデックス環境から削除して、レポジトリからも削除する方法です。

.gitignoreしてもファイルは消えない

 開発途中で.gitignoreを設定しても、今までgit管理下に置かれていたファイルやディレクトリは消えません。なので、過去にアップロードした画像ファイルなどはレポジトリに残っています。
今回はそれらをレポジトリから消し去り、今後のgit管理対象からも外していきます。

※ git知識の確認はこちらをどうぞ

インデックス環境からファイルを消す

実行例
・ファイルをインデックス環境から削除
$ git rm --cached ファイル名

・ディレクトリごとインデックス環境から削除
$ git rm --cached -r ディレクトリ名
結果(public/uploadsディレクトリごと削除した場合)
   deleted: public/uploads/~~

 これで、インデックス環境から完全に消し去りました。
そして、この結果をcommitし、リモートレポジトリにpushします。
すると、今まで消したかったファイルが、リモートレポジトリからも消すことができます。

結果

 開発途中で.gitignoreを設定した場合でも、レポジトリ内にはgit管理対象から外したファイルやディレクトリが残っています。(今まで管理していたわけですから。)
それらをインデックス環境から削除することで、レポジトリ内にある今回ignoreしたファイルやディレクトリも削除できました。

※補足

 今回、レポジトリ内にあるignoreしたファイルやディレクトリを削除したとしても、コミット履歴をたどることで削除したファイルを閲覧することができます。
なので、画像アップロードをテストする際など、不適切な画像をignoreせずコミットしないようにしましょう。
結論、gitignoreはignoreするべき時にしましょう。

最後に

私たちの会社、ナイトレイでは一緒に自社開発のWebサービスを盛り上げてくれるエンジニアメンバーを募集しています!
基本的には直接ユーザーと接することのないポジションですが、セールス部門から
「顧客の声」を教えてもらったり、希望すればユーザーとのMTGに参加することも可能です。
モチベーションの高め方はあなた次第。

このような方は是非Wantedlyからお気軽にご連絡ください(もしくはこちらまで recruit@nightley.jp

✔︎ 自社Webサービスの開発で事業の発展に携わってみたい
✔︎ 自分が開発したサービスで地域活性化に貢献したい
✔︎ 位置情報ビッグデータに興味があり、新しい活用方法を提案したい
✔︎ 地理や地図が好きで仕事中も眺めていたい

一つでも当てはまる方は是非こちらの記事をご覧ください

▼ナイトレイとは?

参考リンク

36
23
0

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
36
23