##■ 概要
SourceTreeを使って「.gitignore」ファイルの作成&設定をする方法と注意点をまとめました。
なるべくGit初心者でも分かりやすいように書いたつもりです。
少しでも誰かのお役に立てば幸いです。
##【1】 作業環境
筆者はGitを勉強し始めてから4ヶ月程度の初心者です。
作業環境は以下の通り。
環境 | |
---|---|
OS | Windows7 |
ホスティングサービス | Bitbucket |
Gitクライアント | SourceTree |
開発環境 | VisualStudio2008 |
##【2】 .gitignoreとは
ignoreとは「~を無視する」という意味の英単語です。
その名の通り.gitignoreに設定したものは、Gitでコミットの対象外とすることができます。
ビルドのたびに更新される大量のファイルは、バージョン管理をしなくても問題ないものがほとんどです。
それらをコミット対象外とすることで、容量の削減やバージョン管理の効率化を実現することができます。
##【3】 .gitignoreの設定方法
.gitignoreファイルを直接作成しても良いのですが、SourceTreeには.gitignoreを作成・編集する機能が備わっています。
①メニューバーの中から「リポジトリ」>「リポジトリの設定」を選択
②「詳細」タブを選択
③「リポジトリ固有の無視リスト」の右側にある「編集」ボタンを押下
上記を実行すると、テキストエディタ等で.gitignoreが開かれるはずです。
この中に、除外するファイルやフォルダを指定していきます。
ちなみに、下記は私が実際に.gitignoreに記述した内容の一部です。
*.exe
*.cache
*.dll
*.log
*.pdb
たとえば *.exe
というのは、
「拡張子がexeであるファイルは、全てのフォルダにおいてコミット対象外とする」
という意味になります。
以下に.gitignoreで除外データを設定する方法を5つ紹介します。
(1)全てのフォルダにある、特定のファイルを除外
例) txtファイルを除外したい場合 (*.拡張子)
*.txt
(2)特定のフォルダの中身を丸ごと除外
例) binフォルダの中身をすべて除外したい場合 (フォルダ名/)
bin/
(3)特定のフォルダの、特定のファイルのみを除外
例) binフォルダ内のtxtファイルをすべて除外したい場合 (フォルダ名/**/*.拡張子)
bin/**/*.txt
(4)特定のフォルダを丸ごと除外するが、その中の特定のファイルは除外しない
例) binフォルダを丸ごと除外したいが、その中のxmlファイルだけは無視したくない
(フォルダ名/.)、(!.拡張子)
bin/*.*
!.xml
(5)コメントを記述する
例) 「これはコメントです」というコメントを書く場合(行の先頭に"#"を付ける)
#これはコメントです
他にもいろいろな書き方があるようなので、気になる方はこのページの下に書かれている参考サイトをご覧ください。
##【4】 .gitignoreの注意点
これは実際に私がやってしまったことです。
私は**「プッシュ済みのファイルは除外できない」**ということを知らないまま作業していました。
すでにインデックスに登録されてしまったフォルダやファイルは、いくら.gitignoreに登録しても毎回コミット対象として出てきてしまいます。
.gitignoreを作り直しても変化が無く、やらかしたときはバグかと思い非常に焦りました。
ようやく真実に気づいた私は、仕方がないのでリポジトリの中身を全削除。
.gitignoreを設定してから再度コミット&プッシュし直すというとても面倒なことをする羽目になりました。
リポジトリを作ったら、プッシュする前に.gitignoreを設定してください。
2020/9/2追記:Gitのキャッシュを削除する方法をオススメします。
参考:.gitignoreに記載したのに反映されない件
##【5】 参考
.gitignoreでインデックスに登録したくないファイルを指定する
.gitignoreを使ってGitで無視するファイルを指定する
以上です。
長々とお付き合いいただき、ありがとうございました。
この記事が皆さまの開発ライフで、少しでもお役に立てば幸いです。