はじめに
開発を進める中で「既にコミットしたファイルを後からバージョン管理の対象から外したい」という状況に直面することがあります。
たとえば、機密情報を含むファイルを誤ってコミットした場合や、ビルド生成物をリポジトリに含めたくなくなった場合などです。
こうした場合、.gitignoreファイルを使っても、すでに追跡されているファイルはその対象外となりますので、別のアプローチが必要になります。
この記事では、その方法をステップバイステップで説明します。
手順1 .gitignoreにファイルを追加
最初のステップは、バージョン管理から外したいファイルやディレクトリを.gitignoreファイルに追加することです。
これにより、これらのファイルが今後のコミットで無視されるようになります。
sample.py
app/
手順2 キャッシュからファイルを削除
既にコミットされているファイルをGitの追跡から外すために、キャッシュから該当ファイルを削除します。
この操作はファイルを作業ディレクトリに残した状態で行います。
ファイルの場合は次のコマンドを使用します。
git rm --cached ファイル名
# git rm --cached sample.py
git rm -r --cached ディレクトリ名
# git rm -r --cached app
手順3 変更をコミット
キャッシュからの削除をリポジトリに適用するためには、この変更をコミットする必要があります。
適切なコミットメッセージを付けて、変更をコミットしましょう。
git commit -m "特定のファイル/ディレクトリをバージョン管理から除外"
手順4 変更をプッシュ
最後に、変更をリモートリポジトリにプッシュします。
これにより、他の開発者もこの変更を取り込むことができるようになります。
git push origin ブランチ名