68
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SourceTreeにおける.gitignore設定方法と注意点

Last updated at Posted at 2017-09-14

##■ 概要
SourceTreeを使って「.gitignore」ファイルの作成&設定をする方法と注意点をまとめました。
なるべくGit初心者でも分かりやすいように書いたつもりです。
少しでも誰かのお役に立てば幸いです。

##【1】 作業環境
筆者はGitを勉強し始めてから4ヶ月程度の初心者です。
作業環境は以下の通り。

環境
OS Windows7
ホスティングサービス Bitbucket
Gitクライアント SourceTree
開発環境 VisualStudio2008

##【2】 .gitignoreとは
ignoreとは「~を無視する」という意味の英単語です。
その名の通り.gitignoreに設定したものは、Gitでコミットの対象外とすることができます。
ビルドのたびに更新される大量のファイルは、バージョン管理をしなくても問題ないものがほとんどです。
それらをコミット対象外とすることで、容量の削減やバージョン管理の効率化を実現することができます。

##【3】 .gitignoreの設定方法
.gitignoreファイルを直接作成しても良いのですが、SourceTreeには.gitignoreを作成・編集する機能が備わっています。

①メニューバーの中から「リポジトリ」>「リポジトリの設定」を選択
01.png

②「詳細」タブを選択
③「リポジトリ固有の無視リスト」の右側にある「編集」ボタンを押下
02.png

上記を実行すると、テキストエディタ等で.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で無視するファイルを指定する


以上です。
長々とお付き合いいただき、ありがとうございました。
この記事が皆さまの開発ライフで、少しでもお役に立てば幸いです。

68
72
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
68
72

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?