Gitでの無視: .gitignoreファイルの使用法

Gitでの無視: .gitignoreファイルの使用法

  • ITOps・DevOps
6分で読めます 更新日 Aug 5, 2020

ポイント: .gitignoreファイルを利用することは、Gitが追跡するファイルを管理し、不必要または機密のファイルを除外するために不可欠です。特定のフレームワークやユーザーのニーズに合わせてカスタマイズできます。

  • .gitignoreファイルのテンプレートをGitHubで探します。
  • 無視する一般的なアイテムには、システム固有のファイルやAPIキーが含まれます。

任意のGitリポジトリにコミットを作成する際、ステージングしたいファイルを選択し、それからコミットします。

しかし、すべてのファイルをコミットしたくない場合があります。コミットする必要のないファイルも存在します。この時、.gitignoreファイルが役立ちます: Gitに無視すべきファイルを正確に伝え、追跡しないようにします。

見てみましょう。

gitignoreとは何ですか?

コピーで作業する際、Gitはすべてのファイルを監視します、そしてそれを3つの方法で考慮します:

  1. 追跡中: すでにファイルをステージまたはコミットしています。
  2. 未追跡: ステージまたはコミットしていません。
  3. 無視中: 明示的にGitにファイルを無視するように指示しました。

.gitignoreファイルは、GitHubリポジトリにプロジェクトをコミットする際に無視すべきファイルをGitに指示します。gitignoreはリポジトリのルートディレクトリにあります。

.gitignoreファイル自体はプレーンテキストドキュメントです。こちらが例の.gitignoreファイル:

    # Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib

# Test binary, built with `go test -c`
*.test

# Output of the go coverage tool, specifically when used with LiteIDE
*.out

# Dependency directories (remove the comment below to include it)
vendor/
  • *はワイルドカードマッチとして使用されます。*.exeは、.exe拡張子を持つファイルを無視します。
  • /は特定の名前のディレクトリを無視します。vendor/はvendorディレクトリを無視します。
  • #は行をコメントアウトします。
  • [...]は任意の値を無視します。
    • *.[abc]はファイルfile.a、file.b、file.cを無視します。
    • *.[a-*.[oa]d]はダッシュが範囲を含むことを示し、この場合はファイル拡張子a-dです。

なぜGitでファイルを無視する必要があるのですか?

特定のファイルを無視したい理由は複数あります:

  • ファイルに機密データが含まれています。
  • ファイルはシステム固有であり、すべてのマシンのコピーに存在する必要はありません。
  • ファイルを除外することで、システムのセキュリティルールと特権を維持します。(覚えておいてください、Gitリポジトリにはテクニカルサポートに必要なファイルのみが含まれており、全体のソフトウェアを共有するものではありません。)

ジュリアン・ダンジョウは、すべてのコミットに対して無視するためのグローバルな.ignoreファイルがコンピュータにあることを指摘しています:

皆があなたのエディタやお気に入りのツールを使うわけではなく、誰も気にしません。あなたが作業しているリポジトリは他の多くの開発者と共有されています。あなたのペットエディタによって生成されたファイルを無視するためにこの種のエントリを追加するプルリクエストを送るのは間違いであり、迷惑です。

.gitignoreに追加するアイテム

すべてがgitignoreに入るわけではありませんが、無視すべき一般的なアイテムは以下の通りです:

システム固有のファイル

システム固有のファイルは無視する必要があります。しかし、これらのファイルをリポジトリの無視ファイルではなく、グローバル無視ファイルに追加できます。

Vscodeワークスペース

vscodeワークスペースのようなアイテムは無視する必要があります。

セキュリティおよびAPIキー/秘密

セキュリティのために、セキュリティキーのファイルおよびAPIキーはgitignoreに追加する必要があります。 (もしそれらがディレクトリに保存されている場合)。すべてのコミットはGitHubリポジトリの履歴に記録されます。キーが提出された場合、たとえすぐに取り下げられたとしても、そのコミットにはキーの記録が存在します。

システム用のグローバルgitignoreを作成する方法

グローバル無視ファイルはどこにでも置くことができます。通常はユーザーのホームディレクトリに保管されます。

  1. ファイルを作成します:
  2. ファイルをGit設定に追加します:
  3. テキストエディタでファイルを編集し、ルールを追加します。

すべての無視されたファイルを表示

    git status –ignored

gitignoreの使い方

異なるコーディングフレームワークはそれぞれ独自の追加ファイルを生成します。.gitignoreテンプレートは、ほとんどの人が無視することを選択する一般的なファイルを除去するための基準として使用できます。

  • Pythonには独自のファイルがあります。
  • システム管理者には独自のファイルがあります。
  • MacOSとWindowsはそれぞれ独自の種類の無視ファイルを持っています。
  • VScodeやAtomのような異なるIDEはそれぞれ独自の.gitignoreファイルを持っています。

あなたのニーズに合ったものを見つけるために:

  1. テンプレートを探ります。GitHubは.gitignoreテンプレートのリポジトリを提供しています
  2. プロジェクトファイルを検索します。Toptalでは、プロジェクトに基づいて.gitignoreファイルを検索できます
  3. コーディングスタイルで、「.gitignore for [私の目的]」をグーグルすれば、そこにたどり着くこともできます。

追加リソース

関連トピックについては、BMC DevOpsガイドを探索してください。

これらの投稿は私自身の見解であり、必ずしもBMCの立場、戦略、または意見を代表するものではありません。

ITOps・DevOpsの関連記事

BMCからのさらなる情報に興味がありますか?

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーションに関する月刊メールです:研究、顧客ストーリー、製品ニュース、イベント。

このオファーに登録することで、あなたはBMCのプライバシーポリシーを読み、同意したことを確認します。

ザ・ブリーフに登録しました

ザ・ブリーフは、メインフレームとエンタープライズオーケストレーション—BMC AMIおよびControl-M—に関するアナリストの研究、顧客の展開、両者にわたるイベントを網羅しています。