いづいづブログ

アジャイルコーチになりたい札幌在住SEです。アジャイル札幌スタッフ&ScrumFestSapporo実行委員。Like:パクチー/激辛/牡蠣/猫/初期仏教

Gitのリモートリポジトリから特定のファイルを削除する

f:id:izumii-19:20190505171017p:plain

しょっちゅう同じ間違いを繰り返すので備忘録。

GitHubにPushするときに.gitignoreを用意していない状態で、以下のように全ての変更をindexにあげてcommit&pushしてしまう。

$ git add . 
$ git commit -m "hogehoge"
$ git push orogin master 

変更のあるファイルだけを指定してindexにあげればよい(add xxx.rb)のだけどめんどくさくてついついadd .してしまう。

すると.DS_Storeなどの不必要なファイルまでがGitHubのリモートリポジトリに登録されてしまう。

いつも後になってからこのファイルをリモートリポジトリから消したくなるので、そのときの手順。

手順

  1. git rmする。
  2. 変更をcommitする。
  3. リモートにpushする。

削除

ローカルのファイルも一緒に削除したい場合

$ git rm {削除したいファイル}

ローカルのディレクトリごと一緒に削除したい場合

$ git rm -r {削除したいディレクトリ}

ローカルのファイルは残したい場合

$ git rm --cached {削除したいファイル}

変更をcommit

$ git commit -m "hogehoge"

push

$ git push origin master

まとめ

.gitignoreを面倒がらずに用意しよう!