2
1

githubにpushしたファイルを(リモートから)削除したい

Last updated at Posted at 2024-03-13

はじめに

Githubにpushしたが,開発を進めるにつれて,何らかの理由により一部のファイルをGithubで管理しないようにしたくなることが良くあります.(個人開発で,場当たり的に進めているのが悪いのですが……)
その度に検索して,自らの状況に当てはまる対処法を模索していたので,いい加減にメモ書き的な記事を書くことにしました.

状況

今回考える状況は次のとおりです.

  • 追跡から除外したいファイルをcommitしてから,いくつか進んでいる
  • 追跡から除外したいファイルをadd&commitした履歴はpush済み
  • 対象のファイルは削除しない
  • (ファイルを追跡から除外したことを履歴に残しておきたい)

対処

以上の前提における操作手順を順に示していきます.

Step 1. .gitignoreの記述(作成)

.gitignoreファイルを作成しておきます.これを忘れると,せっかく後の操作をしても再び追跡されてしまいます.

.gitignore
/path/to/tracked_file

Step 2. git rmの実行

.gitignoreだけでは既に追跡されているファイルは除外されません.既に追跡されているファイルをその追跡から除外するためにgit rmを実行します.

git_rm
~$ git rm --cached /path/to/tracked_file         # 特定のファイルの追跡を除外
~$ git rm -r --cached /path/to/tracked_folder    # 特定のフォルダの追跡を除外

--chachedを忘れると指定したファイルが物理的に削除されてしまいます.万が一,削除してしまってもgit branchで一応戻せますが,注意して操作するようにしてください.

Step 3. git add & git commit & git push

これ以前の変更をリモートリポジトリに反映します.

git_add_commit
~$ git add .
~$ git commit -m "message"
~$ git push

最後に

大した操作では無いので,価値があるかどうかが怪しいですが,どなたかの助けになれば幸いです.

2
1
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
2
1