リポジトリにpushしたファイルやディレクトリを削除する

ファイルやディレクトリを、全てのコミット履歴から削除して、完全に存在しなかった物とする手順です。

注意!

チームで開発している場合、この手順でファイルを削除すると、コンフリクトを起こします。

それでも、IDやパスワードを記載してしまったソースコードをコミット、プッシュした場合に、どうしてもファイルを削除したい場合があると思います。そういう場合にプロジェクトマネージャーに相談して、この手順でファイルを削除した後、プロジェクトメンバーにリポジトリをプルして貰いましょう。

最良の方法はコミットと同時にプッシュしない事です。SourcetreeのようなGUIツールを使っているとやりがちですが、後で変更したくなったり、面倒な事になる事があります。(実際何度もなりました。)

削除

全てのコミット履歴から、ファイルを削除します。

ディレクトリを消す場合は、-rオプションを追加します。

不要となったファイルを削除

上記の削除手順だけでは、ファイル自体は残っている場合があります。ガベージコレクションを実行し、不要となったファイルやディレクトリを削除します。

プッシュ

リモートリポジトリにプッシュします。コンフリクトが発生しているので、-fオプションを付けて強制的にプッシュします。