git config (日本語)

このドキュメントでは、git configコマンドについて詳しく説明します。 の使用法git configコマンドは、グローバルプロジェクトまたはローカルプロジェクトでGit構成値を設定するために使用される便利な関数です。レベル。これらの構成レベルは、.gitconfigテキストファイルに対応します。git configを実行すると、構成テキストファイルが変更されます。一般的な構成設定について説明します。メール、ユーザー名、エディターなど。頻繁に使用するGit操作のショートカットを作成できるGitエイリアスについて説明します。git configとさまざまなGit構成設定に慣れると、強力でカスタマイズされたGitワークフローを作成できます。 。

使用法

git configの最も基本的な使用例は、構成名を使用して呼び出すことです。これにより、設定値が次の場所に表示されます。その名前。構成名は、階層に基づいて「セクション」と「キー」で構成されるドット区切りの文字列です。例:user.email

 

この例では、emailはユーザー構成ブロックの子プロパティです。これにより、Gitがローカルで作成されたコミットに関連付ける構成済みの電子メールアドレスが返されます。

git構成レベルとファイル

git configの使用法についてさらに説明する前に、構成レベルについて説明します。 git configコマンドは、引数を受け入れて、操作する構成レベルを指定できます。次の構成レベルを使用できます。

  • --local

デフォルトでは、git configは、構成オプションが渡されない場合、ローカルレベルに書き込みます。ローカルレベルの構成がコンテキストリポジトリに適用されますgit configが呼び出されます。ローカル構成の値は、リポジトリの.gitディレクトリにあるファイルに保存されます。.git/config

  • --global

グローバルレベルの構成はユーザーです-特定、つまりオペレーティングシステムユーザーに適用されます。グローバル構成値は、ユーザーのホームディレクトリにあるファイルに保存されます。 UNIXシステムでは~ /.gitconfig、WindowsではC:\Users\\.gitconfig

  • --system

システムレベルの構成はマシン全体に適用されます。これは、オペレーティングシステム上のすべてのユーザーとすべてのリポジトリを対象としています。システムレベルの構成ファイルは、システムルートパスから離れたgitconfigファイルにあります。 UNIXシステムでは$(prefix)/etc/gitconfig。 Windowsでは、このファイルはWindowsXPではC:\Documents and Settings\All Users\Application Data\Git\configにあり、WindowsVista以降ではC:\ProgramData\Git\configにあります。

したがって、構成レベルの優先順位は、ローカル、グローバル、システムです。つまり、構成値を探すとき、Gitはローカルレベルで開始し、システムレベルまでバブルアップします。

値の書き込み

すでにわかっていることを拡張するgit configについて、値を書き込む例を見てみましょう。

 

この例では次のように記述します。値から構成名user.email--globalフラグを使用するため、この値は現在のオペレーティングシステムユーザー用に設定されています。

git config editor –core.editor

多くのGitコマンドは、テキストエディターを起動して、さらに入力を求めます。最も一般的な使用法の1つgit configの場合は、Gitが使用するエディターを構成します。以下に、一般的なエディターとそれに対応するgit configコマンドの表を示します。

マージツール

マージの競合が発生した場合、Gitは「マージツール」を起動します。デフォルトでは、Gitは内部実装を使用しますo f一般的なUnixdiffプログラム。内部Git差分は、最小限のマージ競合ビューアです。代わりに使用できる外部のサードパーティのマージ競合解決が多数あります。さまざまなマージツールと構成の概要については、Gitとの競合を解決するためのヒントとツールに関するガイドを参照してください。

色付き出力

Gitは色付き端末出力をサポートしており、Git出力をすばやく読み取ることができます。パーソナライズされたカラーテーマを使用するようにGit出力をカスタマイズできます。 git configコマンドは、これらの色の値を設定するために使用されます。

color.ui

これはGit色のマスター変数です。 falseに設定すると、すべてのGitの色付き端末出力が無効になります。

 

デフォルトでは、color.uiはautoに設定され、即時端末の出力ストリームに色が適用されます。自動設定では、出力ストリームがファイルにリダイレクトされたり、別のプロセスにパイプされたりした場合、カラーコード出力が省略されます。

color.uiの値を常に次の値に設定できます。また、出力ストリームをファイルまたはパイプにリダイレクトするときに、カラーコード出力を適用します。受信パイプが色分けされた入力を予期していない可能性があるため、これにより意図せず問題が発生する可能性があります。

Gitの色の値

color.uiに加えて、他にも多くの細かい色の設定があります。 color.uiと同様に、これらの色設定はすべてfalse、auto、またはalwaysに設定できます。これらの色設定には、特定の色値を設定することもできます。サポートされている色の値の例は次のとおりです。

  • 通常
  • 黄色
  • マゼンタ
  • シアン

色は次のように指定することもできます。 #ff0000などの16進数のカラーコード、または端末でサポートされている場合はANSI256カラー値。

Gitカラー構成設定

color.branch

  • Gitブランチコマンドの出力色を設定します

color.branch. slot >

  • この値は、Gitブランチの出力にも適用されます。 slot >は、次のいずれかです。
    • 1。 current:現在のブランチ
    • 2。ローカル:ローカルブランチ
    • 3。 remote:refs / remotes内のリモートブランチref
    • 4。アップストリーム:アップストリームトラッキングブランチ
    • 5。プレーン:その他の参照

color.diff

  • 色を 、git log、およびgit show出力

color.diff。slot>

  • スロットの構成> color.diffの下の値は、パッチのどの部分で特定の色を使用するかをgitに指示します。
    • 1。 context:diffのコンテキストテキスト。 Gitコンテキストは、変更を強調表示する差分またはパッチに表示されるテキストコンテンツの行です。
    • 2。プレーン:コンテキストの同義語
    • 3。 meta:差分のメタ情報に色を適用します
    • 4。 frag:「ハンクヘッダー」または「ハンクヘッダーの関数」に色を適用します
    • 5。 old:差分内の削除された行に色を適用します
    • 6。 new:差分の追加された行に色を付けます
    • 7。 commit:差分内のcommitヘッダーに色を付けます
    • 8。 whitespace:差分内の空白エラーの色を設定します

color.decorate. slot >

  • git log --decorate出力の色をカスタマイズします。サポートされているスロット>の値は、branchremoteBranch、、stash、またはHEAD。これらはそれぞれ、ローカルブランチ、リモートトラッキングブランチ、タグ、隠し変更、およびHEADに適用できます。

color.grep

  • gitgrepの出力に色を適用します。

color.grep.スロット>

  • gitにも適用可能grep。 slot >変数は、grep出力のどの部分に色を適用するかを指定します。
    • 1。コンテキスト:コンテキスト行のテキストが一致しない
    • 2。ファイル名:ファイル名プレフィックス
    • 3。関数:関数名の行
    • 4。行番号:行番号プレフィックス
    • 5。一致:一致するテキスト
    • 6。 matchContext:コンテキスト行のテキストの照合
    • 7。 matchSelected:選択した行のテキストを照合する
    • 8。選択済み:選択した行のテキストが一致しません
    • 9。セパレーター:行のフィールド間(:、-、および=)およびハンク間のセパレーター(-)

8。 color.interactive

  • この変数は、インタラクティブなプロンプトと表示に色を適用します。例としては、git add --interactivegit clean --interactive

9があります。 color.interactive.slot >

  • スロット>変数を指定して、より具体的な「インタラクティブ出力」。使用可能なslot >の値は、prompt、header、help、errorです。それぞれが対応するインタラクティブ出力に作用します。

color.pager

  • ページャーの使用中に色付きの出力を有効または無効にします

color.showBranch

  • git showbranchコマンドのカラー出力を有効または無効にします

12. color.status

  • Gitステータスのカラー出力を有効または無効にするブール値

13. color.status.slot >

指定されたgitステータス要素のカスタムカラーを指定するために使用されます。 slot >は、次の値をサポートしています。

  • 1。ヘッダー
    • ステータス領域のヘッダーテキストをターゲットにします
  • 2。追加または更新された
    • 追加されたがコミットされていない両方のターゲットファイル
  • 3. changed
    • 変更されたが、gitインデックスに追加されていないファイルをターゲットにします
  • 4。追跡されていない
    • Gitによって追跡されていないファイルをターゲットにします
  • 5。ブランチ
    • 現在のブランチに色を適用します
  • 6。 nobranch
    • 「ブランチなし」の警告が表示される色
  • 7。マージされていない
    • マージされていない変更があるファイルに色を付ける

エイリアス

エイリアスの概念に精通している場合があります。オペレーティングシステムのコマンドライン。そうでない場合は、「どのコマンドをより長いコマンドまたは組み合わせたコマンドに展開するかを定義するカスタムショートカットです。エイリアスを使用すると、頻繁に使用するコマンドを入力する時間とエネルギーコストを節約できます。Gitは独自のエイリアスシステムを提供します。Gitエイリアスの一般的な使用例は短縮です。 commitコマンド。GitエイリアスはGit構成ファイルに保存されます。これは、git configコマンドを使用してエイリアスを構成できることを意味します。

 

この例では、git commitコマンドのciエイリアスを作成します。その後、iv id = “を実行して、git commitを呼び出すことができます。 f12114d074 “> 。エイリアスは他のエイリアスを参照して強力なコンボを作成することもできます。

 

この例では、エイリアス修正を作成して、 ciエイリアスを--amend flagを使用する新しいエイリアスに変換します。

フォーマット&空白

Gitホワイトスペースを強調表示するように構成できるいくつかの「ホワイトスペース」機能がありますgitdiffを使用する際の問題。空白の問題は、構成された色を使用して強調表示されますcolor.diff.whitespace

次の機能はデフォルトで有効になっています:

  • blank-at-eolは行末の孤立した空白を強調表示します
  • space-before-tabは、行をインデントするときにタブ文字の前に表示されるスペース文字を強調表示します
  • blank-at-eofは、ファイルの末尾に挿入された空白行を強調表示します

次の機能はデフォルトで無効になっています

  • indent-with-non-tabは、タブではなくスペースでインデントされた行を強調表示します
  • tab-in-indentはエラーとしての最初のタブインデント
  • trailing-spaceは、blank-at-eolとblank-at-eofの両方の省略形です
  • cr-at-eol highlights行末でのキャリッジリターン
  • tabwidth=は、タブが占める文字位置の数を定義します。デフォルト値は8です。許可される値は1-63です

まとめ

この記事では、git config command。このコマンドが、ファイルシステム上の生のgit configファイルを編集するための説得力のある方法である方法について説明しました。構成オプションの基本的な読み取りおよび書き込み操作について説明しました。一般的な構成パターンを確認しました:

  • Gitエディターを構成する方法
  • 構成レベルをオーバーライドする方法
  • 構成のデフォルトをリセットする方法
  • gitの色をカスタマイズする方法

全体として、git configは、生の ファイル。個人的なカスタマイズオプションについて詳しく説明しました。 git設定オプションの基本的な知識は、リポジトリを設定するための前提条件です。基本のデモンストレーションについては、そこにあるガイドを参照してください。

Write a Comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です