Git

.gitignoreでGit管理対象外となるファイルを設定してみた

特定のファイルをGit管理対象外とするには、.gitignoreファイルにそのファイルパスを記載すればよい。今回は、.gitignoreでGit管理対象外となるファイルを設定してみたので、その手順を共有する。

なお、.gitignoreファイルの詳細については、以下のサイトを参照のこと。
https://www.sejuku.net/blog/72389

前提条件

下記記事の手順を、リモートリポジトリ名=git-gitignore-pushとして実行済であること。

Gitでプロジェクトを作成しGitHubにpushしてみたGitとは、プログラムのソースコードなどをバージョン管理するためのツールで、多くの開発現場で利用されている。 また、Gitで管理し...

.gitignoreファイルの利用

.gitignoreファイルに記載したファイルは、Gitでのコミット対象外に設定できる。その手順は、以下の通り。

1) ローカルリポジトリ上で、以下のGitの対象外とするファイル(HELP.md、logs/access.log、logs/error.log)を追加する。
gitignoreの利用_1_1

gitignoreの利用_1_2

2)「HELP.md、logs/access.log、logs/error.log」を対象外に設定した以下の「.gitignore」ファイルを、以下のように設定する
gitignoreの利用_2_1

gitignoreの利用_2_2

3) 追加したファイルを、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
gitignoreの利用_3

4) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「.gitignore」ファイルのみコミットされていることが確認できる。
gitignoreの利用_4_1

gitignoreの利用_4_2

5)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
gitignoreの利用_5

6) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様のコミット履歴が確認できる。
gitignoreの利用_6_1

gitignoreの利用_6_2 gitignoreの利用_6_3



「CODE×CODE」は、需要の高い技術(AWS, Python等)を習得できるプログラミングスクールスクールだった近年、さまざまな会社でクラウド(特にIaaSやPaaSのパブリッククラウド)の需要が非常に高まっていて、クラウドサービスによるシステム開...

既にコミット済のファイルを.gitignoreに追加した場合の動作

既にコミット済のファイルを.gitignoreに追加する場合は、「git rm -r –cached .」でカレントディレクトリ下の全ファイルをGitでのコミット対象外に設定した後で、コミット操作を行う。その実行例は、以下の通り。

1)「git rm .gitignore」コマンドを実行し、.gitignoreファイルを削除する。
gitignoreの追加_1

2)「HELP.md、logs/access.log、logs/error.log」が存在する状態で、「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
gitignoreの追加_2

3) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「HELP.md、logs/access.log、logs/error.log」ファイルが全てコミットされていることが確認できる。
gitignoreの追加_3_1

gitignoreの追加_3_2 gitignoreの追加_3_3

4)「HELP.md、logs/access.log、logs/error.log」を対象外に設定した以下の「.gitignore」ファイルを、以下のように設定する。
gitignoreの追加_4_1

gitignoreの追加_4_2

5)「git rm -r –cached .」コマンドを実行し、カレントディレクトリ下の全ファイルをGitの管理対象外にする。
gitignoreの追加_5

6)「git status」コマンドを実行すると、カレントディレクトリ下の全ファイルがGitの管理対象外になっていることが確認できる。
gitignoreの追加_6

7)「git add .」「git commit -m (コミット時のメッセージ)」コマンドを利用して、ローカルリポジトリにコミットする。
gitignoreの追加_7

8) Git Guiで「Repository」メニューから「Visualize master’s History」を選択し、コミット履歴を確認すると、「.gitignore」ファイルがコミットされ、「HELP.md、logs/access.log、logs/error.log」ファイルがコミット対象外となっていることが確認できる。
gitignoreの追加_8_1

gitignoreの追加_8_2 gitignoreの追加_8_3

9)「git push origin master」コマンドを利用して、ローカルリポジトリの内容をリモートリポジトリに反映する。
gitignoreの追加_9

10) GitHub上で、リモートリポジトリのコミット履歴を確認した結果は以下の通りで、ローカルリポジトリと同様のコミット履歴が確認できる。
gitignoreの追加_10_1

gitignoreの追加_10_2 gitignoreの追加_10_3 gitignoreの追加_10_4

要点まとめ

  • 特定のファイルをGit管理対象外とするには、.gitignoreファイルにそのファイルパスを記載すればよい。
  • 「git rm -r –cached .」コマンドを実行することで、カレントディレクトリ下の全ファイルをGitのコミット対象外にできる。