
後から設定した.gitignoreでgit管理から除外する方法
.gitignoreを設定せず開発を進めてしまっていたり、git管理したくないファィルを間違えてコミットしてしまった場合などがあるかと思います。
そんな時に後から.gitignoreを設定し、git管理から除外する方法を紹介したいと思います。
.gitignoreファィルの作成
.gitignoreとは、Gitが特定のファイルやディレクトリを無視するように指示する設定ファイルです。
まだ作成していない場合は、ルートディレクトリに下記のコマンドで、.gitignoreファィルを作成できます。
touch .gitignore
touch
コマンドは空のファイルを新規作成したり、最終更新日を更新したりしてくれるコマンドで、とでも便利です。
除外したいディレクトリ・ファイルを設定
次に除外したいディレクトリ・ファイルを設定を.gitignoreに書いていきたいと思います。
例えば、このように記述します⬇︎
ファィル名
ディレクトリ名/
この設定の場合、ファィル名
の部分に記述したファィルを全て除外するように設定しています。
ディレクトリ名/
のようにスラッシュをつけた場合は、ディレクトリ名
自体と、その中のすべてのファイル・サブフォルダが除外されます。
ここでは記述しませんが、特定のファィルだけ除外したり、拡張子が一致する場合に除外したりする方法もあるみたいです。
設定ができましたら、一度.gitignoreをコミットしておきます。
git add .
git commit -m "add .gitignore"
既にリポジトリに登録されているものを除外
既にローカルリポジトリに設定されてるものは、.gitignoreの設定が適応されません。
なので、下記のコマンドで、管理対象から除外する必要があります。
ディレクトリの場合
git rm --cached -r 削除したいディレクトリ名
ファィルの場合
git rm --cached 削除したいファィル名
rm
は指定するファィルやディレクトリを完全に削除するコマンドですが、--cached
をつけることで、git管理からは除外して、ファイルやディレクトリ自体は残すということができます。
ディレクトリの場合、-r
をつけることで、中のファィルも含めて全て削除できます。
最後にコミットして完了!
git add .
git commit -m "〇〇ファィルと、〇〇ディレクトリをgit管理対象から除外"
参考
- @yutosa3 - .gitignoreを後から設定し、git管理から除外する方法(参照日: 2025 年 04 月 03 日)
- @anqooqie - [Git] .gitignoreの仕様詳解(参照日: 2025 年 04 月 03 日)