ソムリエでエンジニアのブログ

ワインの事も書きたいけど基本エンジニア用

.gitignoreを後から追加する方法

はじめに

TypeScriptを学んでいる時に、誤ってリモートリポジトリにnode_modulesディレクトリ以下のファイルを追加してしまいました。
そこでgit管理したくないファイルをコミットした際、後からgitignoreファイルを追加する方法を調べたので備忘録として残しておきます。

手順

1. 何はともあれ.gitignoreファイルを作成する

$ touch .gitignore

コマンドでもGUIでも構わないので、git管理を外したいディレクトリ・ファイルと同じ階層に.gitignoreファイルを作成します。

2. .gitignoreファイルに管理対象外にしたいディレクトリ・ファイルを記述
今回はnode_modulesディレクトリ以下を管理対象外に指定します。

node_modules/

.gitignoreファイルの記述方法についてはドキュメントや別記事を参照してください。

git-scm.com
3.ひとまずコミットする

$ git add .
$ git commit -m ".gitignoreの追加"


4.削除したいフォルダ・ファイルをリポジトリから削除する .gitignoreを設定しても、既にリポジトリに登録されているものはリポジトリに残ったままになっています。
そこで、下記コマンドを実行し、管理対象から除外します。

$ git rm --cached -r node_modules


5.管理対象から除外しコミットする 指定したファイル・フォルダをgit管理対象から除外することができるので、あとはコミットまでして完了です。

$ git add .
$ git commit -m "node_modulesディレクトリをgit管理対象外に変更"


これで誤ってリモートリポジトリにあげてしまったディレクトリを管理対象外に設定する事ができました。