既にGit管理下にあるファイルやディレクトリを管理対象から外す【.gitignore git rm --cached】

Git, Programming10 November 2020

間違えてコミットしてしまった...

元々Gitでバージョン管理していたけど辞めたい...

こんな時の対処法のまとめです。

.gitignoreの存在は知っていたけどそれだけじゃ足りなかったので、手順を解説します!

キャッシュを削除(重要)

一度Addしたファイルやディレクトリはキャッシュにインデックスの情報が残っているので削除する必要があります。

以下のいずれかのコマンドで対応します。(ご自身の状況に合わせてコマンドを実行してください)

# ファイルを指定してキャッシュを削除(実ファイルは残る)
$ git rm cached ファイル名


# ディレクトリを指定してキャッシュを削除(実ディレクトリは残る)
$ git rm -r cached ディレクトリ名



//*****************************************************

実ファイル or 実ディレクトリごと削除したい場合は、「--cached」を付けない

//*****************************************************


# 実ファイルごと削除
$ git rm ファイル名


# 実ディレクトリごと削除
$ git rm -r ディレクトリ名

「--cached」を付けるとファイルやディレクトリの実態はローカルに残り、Gitの管理のみが外れます。

.gitignoreに記載

.gitignoreというファイルを作成することで今後バージョン管理を永続的に外すことができます。

基本的にgitプロジェクトのルートディレクトリに置きます。

# .gitignoreを作成
$ vi .gitignore
管理外にしたいファイルやディレクトリを記載

細かな書き方に関しては、こちらのサイトがとても詳しく大変わかりやすいので参考になると思います。

管理外にしたことをコミット&プッシュ

最後にバージョン管理から外したことをコミット&プッシュして完了です。

特に普段と変わらず変更差分として出てくるのでコミットしてください。

(バージョン管理から外したので、実質これが最後の変更差分となります)

tags: Git, Programming