Gitで.gitignoreが反映されない
Gitで.gitignoreにignoreしたいファイルを追記をしたけど、
- 記載したファイルがignoreされない
- そもそも.gitignoreの使い方がわからない
と場合があると思いますので、対処方法を記載していきたいと思います!
.gitignoreとは?
.gitignoreとは、Gitリポジトリでの追跡対象から除外したいファイルを設定するためのものです。
.gitignoreを反映させる方法
.gitignoreを反映させる方法自体は簡単ですので、先にやり方だけ記載します。
git rm -r –cached . のコマンドの後に通常通り、addとcommitをすればOKです。
git rm -r --cached .
git add .
git commit -m ".gitignoreを反映"
以下に補足として、何で.gitignoreが反映されなかったのか調べて行きたいと思います。
.gitignoreが反映されない
僕もGitを使い始めた頃は、.gitignoreが反映されなくて困った記憶があります。
では.gitignoreが反映されない原因はなんなのでしょうか?
原因
.gitignoreが反映されない原因は、ズバリ除外したい対象のファイルが既にGitレポジトリへ取り込まれているからです。
除外したい対象のファイルを以前に、addしてcommitをしていたということです。
そのため、.gitignoreが反映されなかったのです。
解決方法
それでは、実際に試しながら、.gitignoreに反映される時とされない時で違いを見ていきましょう!
まずは、initしてGitレポジトリを作成します。
$ git init
Initialized empty Git repository in /home/ubuntu/git_test/.git/
ファイルを作成し、コミットをしてGitレポジトリへ取り込みます。
$ echo ".gitignore ng" > ng_ignore.txt
$ git add ng_ignore.txt
$ git commit -m "commit ng_ignore.txt"
今度もファイルを作成しますが、コミットはしません。
ok_ignore.txt が追跡されていないファイルとして表示されています。
$ echo ".gitignore test" > ok_ignore.txt
$ git st
ブランチ master
追跡されていないファイル:
(use "git add <file>..." to include in what will be committed)
ok_ignore.txt
nothing added to commit but untracked files present (use "git add" to track)
ここで、.gitignoreを作成して、先程作成した2ファイルをignoreしましょう!
$ vi .gitignore
--------------------
ng_ignore.txt
ok_ignore.txt
--------------------
ここでステータスを確認すると、先程追跡されていないファイルとして表示されていたok_ignore.txtがしっかりとignoreされていることがわかります!
しかし、一度コミットをしてGitレポジトリへ取り込んだng_ignore.txtは除外されず、何も変化がないことがわかりますね。
$ git st
ブランチ master
追跡されていないファイル:
(use "git add <file>..." to include in what will be committed)
.gitignore
nothing added to commit but untracked files present (use "git add" to track)
それでは、.gitignoreを反映させるために冒頭でご紹介したコマンドで、ng_ignore.txt を除外しましょう!
rm ‘ng_ignore.txt’と表示されてバッチリignoreできました!
$ git rm -r --cached .
rm 'ng_ignore.txt'
$ git add .
$ git commit -m ".gitignoreを反映"
[master dc5bf49] .gitignoreを反映
2 files changed, 2 insertions(+), 1 deletion(-)
create mode 100644 .gitignore
delete mode 100644 ng_ignore.txt
またGitを使っていて、リモートにあるはずのブランチが自分の環境からは見えない!という場合の解決策は、こちらに記載しています!
Gitを最短でマスターする方法
Gitの書籍でマスターする
Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉
この書籍は、プログラミングを初めたばかりの初心者やGitをコマンド操作ではなく、SourceTreeというツールで簡単に初めたい方にオススメです。
Gitをコマンド操作すると言われてコマンドって何?と思う方は是非この本からGitの基礎を学ぶことをオススメします!
イラスト、図、実際の操作画面が豊富に使用されていますので、わかりやすさも抜群です!

Gitが、おもしろいほどわかる基本の使い方33〈バージョン管理、SourceTree、Bitbucket〉
独習Git
この本は基礎から実際のプロジェクトでの活用方法までのガッツリ習得したい方向けとなっています。
プログラミングを学び初めて半年以上の方や仕事でプログラミングをやっている方が一からGitを学ぶ場合にオススメの書籍です。

Udemyの講座でマスターする
もう怖くないGit!チーム開発で必要なGitを完全マスター
僕は最初ネットの記事などを見てGitを使っていたのですが、基礎からしっかりとGitをマスターしたいと思い、こちらの講座を受講しました!
内容的には、プログラミング初心者でも経験者でもGitを一から学びたいという方はオススメです!
こちらの講座はGitをコマンドラインで進めていくのですが、Gitを難しい部分をイメージできるようにイラストや図で詳しく解説されていて、addやcommitが裏で何をしているのかまで詳しく理解できるようになります!
どうしても書籍のほうがいい!というこだわりがなければ、udemyの動画であれば実際に手を動かさなくても、ただ動画を見るだけで理解ができてしまうのでオススメです。
忙しくて勉強時間をなかなか取れない方など、隙間時間に動画をみて、空いた時間で実際に手を動かしてやってみるなど工夫すると最速でGitが理解できるのでオススメです!
※こちらの画像をクリックするとUdemyの講座のページへ飛ぶことができます!
その他にもオススメのGit講座を紹介しておきますね!
Git入門: ノンプログラマーのための Git
こちらはUdemyでのベストセラーになっているぐらい高評価の講座となっています!
Git & Github基礎講座
GitもGithubも一緒に基礎から学習することができます!
コメント