.gitignoreを作らずに開発を進めていて、後からgit管理をしたくないファイルやディレクトリをgitの管理対象外に売る方法を解説します。
ちなみに、.gitignoreとはgitの管理対象外にするファイルやディレクトリを指定するためのファイル
.gitignoreを後から設定し、gitの管理対象外にする方法
1.gitignoreファイルの作成
まずは.gitignoreという名前のファイルを作成します。
$ touch .gitignore
プロジェクトのルートディレクトリに配置することが多いですが、必ずしもルートディレクトリにある必要はないです。
また、1プロジェクト内に複数の.gitignoreがあっても良いです。
2gitの管理対象外にしたいファイル、ディレクトリを指定
.gitignore
# ディレクトリ配下全てをgitの管理対象外にしたい場合
node_modules/
# 特定のファイルだけをgitの管理対象外にしたい場合
test.ts
.gitignoreの記入ができたら、コミットしておきます。
3該当のファイル、ディレクトリをgitの管理対象から外す
.gitignoreを作成しただけでは、gitの管理対象外にしたいファイルやディレクトリはまだ、gitの管理対象のままです。
そのため、gitの管理対象から外してあげる必要があります。
$ git rm --cache -r 管理対象外にしたいディレクトリ
$ git rm --cache 管理対象外にしたファイル
これでgitの管理対象外にすることができました。
--cacheオプションをつけているので、実際のファイルやディレクトリが削除されるわけではないです。
ファイルやディレクトリまで削除したい場合は、--cacheオプションを外してコマンドを実行してください。
最後にもう1度コミットしたら完了です。
.gitignoreの書き方
.gitignoreの書き方をいくつか紹介しておきます
.gitignore
# '#'が先頭についた行はコメントアウト
# distディレクトリ配下全てをgitの管理対象外に
dist/
# .ts拡張子が付くダイルは全てgitの管理対象外に
*.ts