エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
こんにちは、普段はフリーランスでシステムエンジニアをしております。
今回は、Git初心者が入門時におさえておきたい【.gitignoreファイルやGitコマンドでバージョン管理から外す方法】を紹介していきます。
Gitを扱うのがそもそも初めてという方は、こちらでGitの使い方を事前に学習いただくと理解が深まるのであわせてご覧ください。
Gitバージョン管理から外すとは
Gitバージョン管理から外すとは、上図のように「git add」や「git commit」コマンドを使ってバージョン管理したくないファイルを予めGit管理対象外に指定しておくことを言います。
そして、Git管理対象外に指定するためには、後述する「.gitignore」という隠しファイルを使います。
Gitバージョン管理から外すべきファイル例
ここでは、Gitバージョン管理から外したいものとはどのようなものなのか紹介していきます。
セキュリティ的に漏れたらまずいファイル
パスワード情報が入ったファイルなどが該当します。
OSに依存したファイル
Windows、Linux、MacOSなどに依存したファイルも同様にバージョン管理から外します。
パッケージ管理ツールでインストールしたライブラリ
開発スタート時にライブラリやライブラリのバージョンは決めて開発するため、ライブラリを更新したりすることは滅多にありません。
そのため、ライブラリをバージョン管理に入れても、容量が肥大化するだけになるので、バージョン管理からは外します。
コミットしていないファイルをバージョン管理から予め外す方法
.gitignoreファイルを使ってコミットしていないファイルをバージョン管理から予め外す方法を紹介していきます。
.gitignoreファイルの保存場所
.gitignoreファイルは、「git init」コマンドで作成される.gitディレクトリと同じプロジェクトルートディレクトリに作成します。
【フォルダ構成】
|ー .git/
|ー.gitignore |
.gitignoreファイルの書き方
次に.gitignoreファイルの書き方をみてきましょう。
特定ファイルを管理対象から除外する
特定ファイルをバージョン管理対象から外す場合、以下のように.gitignoreファイルがあるディレクトリからの相対パスでファイル名を記述すればオッケーです。
【.gitignoreファイル書式】
1 2 |
<ファイル名> <ディレクトリ名>/<ファイル名> |
【.gitignoreファイル例】
下記のフォルダ構成例でmemo.txtとcalc.txtをバージョン管理から外す例です。
1 2 |
memo.txt temp/calc.txt |
【フォルダ構成例】
|ー .git/
|ー.gitignore |ーmemo.txt |ー temp/ |ー temp/calc.txt |
特定ディレクトリ配下を管理対象から除外する
特定ディレクトリ配下すべてをバージョン管理対象から外す場合、以下のように.gitignoreファイルがあるディレクトリからの相対パスでディレクトリ名を記述すればオッケーです。
【.gitignoreファイル書式】
1 |
<ディレクトリ名>/ |
【.gitignoreファイル例】
下記のフォルダ構成例でtempディレクトリ配下をバージョン管理から外す例です。
1 |
temp/ |
【フォルダ構成例】
|ー .git/
|ー.gitignore |ー temp/ |
.gitignoreファイルのテンプレートを取得する
.gitignoreファイルのテンプレートを作成するには、こちらの「gitignore.io」サイトがとても便利です。
上図のようにOS(Windows)、プログラミング言語(Python)、開発環境(VisualStudioCode)などの名前を入力して、「作成する」ボタンを押すと、.gitignoreファイルに記述すべきテンプレートを出力してくれます。
最後に上図のように出力されたテンプレートを.gitignoreファイルにコピーすればオッケーです。
コミット済みファイルをバージョン管理から外す方法
ここでは、前述した.gitignoreファイルではバージョン管理から外すことができない「コミット済みファイル」をバージョン管理から外す方法を2種類紹介していきます。
コミット済みファイルを残しつつ、バージョン管理から外す(git rm --cashed)
コミット済みファイルは残しつつ、バージョン管理から外すためには、「git rm --cashed」コマンドを使用します。
【コマンド書式】
git rm --cashed <コミット済みの削除対象ファイル> |
コミット済みファイルを削除し、バージョン管理からも外す(git rm)
コミット済みファイルを削除し、バージョン管理からも外すためには、「git rm」コマンドを使用します。
【コマンド書式】
git rm <コミット済みの削除対象ファイル> |
まとめ
いかがでしたでしょうか。
.gitignoreファイルやGitコマンドでバージョン管理から外すファイルの例や方法を紹介してきました。
特にバージョン管理すべきか、管理から外すべきかは、設計フェーズが終わってコーディング前には.gitignoreファイルに記述できるとよいと思います。