特定のファイルをGit管理対象外とするには、.gitignoreファイルにそのファイルパスを記載すればよい。今回は、.gitignoreでGit管理対象外となるファイルを設定してみたので、その手順を共有する。
なお、.gitignoreファイルの詳細については、以下のサイトを参照のこと。
https://www.sejuku.net/blog/72389
前提条件
下記記事の手順を、リモートリポジトリ名=git-gitignore-pushとして実行済であること。
.gitignoreファイルの利用
.gitignoreファイルに記載したファイルは、Gitでのコミット対象外に設定できる。その手順は、以下の通り。
1) ローカルリポジトリ上で、以下のGitの対象外とするファイル(HELP.md、logs/access.log、logs/error.log)を追加する。
2)「HELP.md、logs/access.log、logs/error.log」を対象外に設定した以下の「.gitignore」ファイルを、以下のように設定する
3) 追加したファイルを、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
4) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「.gitignore」ファイルのみコミットされていることが確認できる。
5)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
6) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様のコミット履歴が確認できる。
既にコミット済のファイルを.gitignoreに追加した場合の動作
既にコミット済のファイルを.gitignoreに追加する場合は、「git rm -r –cached .」でカレントディレクトリ下の全ファイルをGitでのコミット対象外に設定した後で、コミット操作を行う。その実行例は、以下の通り。
1)「git rm .gitignore」コマンドを実行し、.gitignoreファイルを削除する。
2)「HELP.md、logs/access.log、logs/error.log」が存在する状態で、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
3) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「HELP.md、logs/access.log、logs/error.log」ファイルが全てコミットされていることが確認できる。
4)「HELP.md、logs/access.log、logs/error.log」を対象外に設定した以下の「.gitignore」ファイルを、以下のように設定する。
5)「git rm -r –cached .」コマンドを実行し、カレントディレクトリ下の全ファイルをGitの管理対象外にする。
6)「git status」コマンドを実行すると、カレントディレクトリ下の全ファイルがGitの管理対象外になっていることが確認できる。
7)「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
8) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「.gitignore」ファイルがコミットされ、「HELP.md、logs/access.log、logs/error.log」ファイルがコミット対象外となっていることが確認できる。
9)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
10) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様のコミット履歴が確認できる。
要点まとめ
- 特定のファイルをGit管理対象外とするには、.gitignoreファイルにそのファイルパスを記載すればよい。
- 「git rm -r –cached .」コマンドを実行することで、カレントディレクトリ下の全ファイルをGitのコミット対象外にできる。