Gitで.gitignoreを反映させる方法と反映されない原因について解説

Git

.gitignoreを反映させる方法

.gitignoreを反映させる方法自体は簡単ですので、先にやり方だけ記載します。

git rm -r –cached . のコマンドの後に通常通り、addcommitをすればOKです。

git rm -r --cached .
git add .
git commit -m ".gitignoreを反映"

 

以下に補足として、何で.gitignoreが反映されなかったのか調べて行きたいと思います。

 

.gitignoreが反映されない

僕もGitを使い始めた頃は、.gitignoreが反映されなくて困った記憶があります。

では.gitignoreが反映されない原因はなんなのでしょうか?

 

そもそも.gitignoreとは?

.gitignoreとは、Gitリポジトリでの追跡対象から除外したいファイルを設定するためのものです。

 

反映されない原因

.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を学ぶ場合にオススメの書籍です。


独習Git

Udemyの講座でマスターする

もう怖くないGit!チーム開発で必要なGitを完全マスター

僕は最初ネットの記事などを見てGitを使っていたのですが、基礎からしっかりとGitをマスターしたいと思い、こちらの講座を受講しました!

内容的には、プログラミング初心者でも経験者でもGitを一から学びたいという方はオススメです!

こちらの講座はGitをコマンドラインで進めていくのですが、Gitを難しい部分をイメージできるようにイラストや図で詳しく解説されていて、addcommitが裏で何をしているのかまで詳しく理解できるようになります!

どうしても書籍のほうがいい!というこだわりがなければ、udemyの動画であれば実際に手を動かさなくても、ただ動画を見るだけで理解ができてしまうのでオススメです。

忙しくて勉強時間をなかなか取れない方など、隙間時間に動画をみて、空いた時間で実際に手を動かしてやってみるなど工夫すると最速でGitが理解できるのでオススメです!

※こちらの画像をクリックするとUdemyの講座のページへ飛ぶことができます!

 

その他にもオススメのGit講座を紹介しておきますね!

 

Git入門: ノンプログラマーのための Git

こちらはUdemyでのベストセラーになっているぐらい高評価の講座となっています!

 

Git & Github基礎講座

GitもGithubも一緒に基礎から学習することができます!

 

コメント