サーチ…


構文

  • git config [<file-option>] name [value]#git configのより一般的な使用例の1つ

パラメーター

パラメータ詳細
--system すべてのユーザに使用されるシステム全体の設定ファイルを編集します(Linuxの場合、このファイルは$(prefix)/etc/gitconfig
--global 作業中のすべてのリポジトリで使用されるグローバル設定ファイルを編集します(Linuxの場合、このファイルは~/.gitconfig
--local リポジトリ内の.git/configにあるリポジトリ固有の設定ファイルを編集します。これがデフォルト設定です

ユーザー名と電子メールアドレス

Gitをインストールした直後に、まずユーザ名と電子メールアドレスを設定します。シェルから次のように入力します。

git config --global user.name "Mr. Bean"
git config --global user.email [email protected]
  • git configはオプションを取得または設定するコマンドです
  • --globalは、あなたのユーザアカウントに固有の設定ファイルが編集されることを意味します
  • user.nameuser.emailは構成変数のキーです。 userは設定ファイルのセクションです。 nameemailは変数の名前です。
  • "Mr. Bean"[email protected]は、2つの変数に格納する値です。格納している値にスペースが含まれているため、必要な"Mr. Bean"の引用符に注意してください。

複数のgit設定

git設定には最大5つのソースがあります:

  • 6ファイル:
    • %ALLUSERSPROFILE%\Git\Config (Windowsのみ)
    • (システム) <git>/etc/gitconfigで、 <git>はgitのインストールパスです。
      (Windowsでは<git>\mingw64\etc\gitconfig
    • (システム) $XDG_CONFIG_HOME/git/config (Linux / Macのみ)
    • (グローバル) ~/.gitconfig (Windows: %USERPROFILE%\.gitconfig
    • (ローカル) .git/config (git repo $GIT_DIR
    • git config -f .gitmodules ...などのサブモジュールの設定を変更するために使用される専用ファイルgit config -f
  • コマンドラインgit -cgit -c core.autocrlf=false fetch他のオーバーライドしますcore.autocrlfするfalse ちょうどそのため、 fetch命令。

順序は重要です。1つのソースに設定されているすべての設定は、その下にリストされているソースによって上書きできます。

git config --system/global/localは、これらのソースのうち3つをリストするコマンドですが、git config -lだけで解決された すべての設定がリストされます。
"解決済み"は、最後に上書きされた設定値だけをリストすることを意味します。

git 2.8以降、どのファイルからどの設定が来るかを知りたければ、次のようにタイプします:

git config --list --show-origin

使用するエディタの設定

コミット、リベースなどに使用するエディタを設定するには、いくつかの方法があります。

  • core.editor構成設定を変更します。

    $ git config --global core.editor nano
    
  • 環境変数GIT_EDITOR設定します。

    1つのコマンドの場合:

    $ GIT_EDITOR=nano git commit
    

    ターミナルで実行されるすべてのコマンドに対してです。 注:これは、端末を閉じるまで適用されます。

    $ export GIT_EDITOR=nano
    
  • Gitだけでなく、 すべての端末プログラムのエディタを変更するには、 VISUALまたはEDITOR環境変数を設定します。 (「 VISUAL vs EDITOR 」を参照してください)。

    $ export EDITOR=nano
    

    注:上記のように、これは現在の端末にのみ適用されます。あなたのシェルには通常永久に設定するための設定ファイルがあります。 (例えば、 bashでは、 ~/.bashrc~/.bash_profile上記の行を追加します)。

一部のテキストエディタ(ほとんどGUIのもの)は、一度に1つのインスタンスしか実行せず、すでにインスタンスを開いている場合は通常終了します。これがテキストエディタの場合、GitはAborting commit due to empty commit message.最初にコミットメッセージを編集することはできません。これが起こった場合は、テキストエディタのドキュメントを参照して、ドキュメントがクローズされるまで一時停止させる--waitフラグ(または同様のもの)があるかどうかを確認してください。

行末の設定

説明

プロジェクト全体で異なるオペレーティングシステム(OS)を使用するチームと作業する場合、行末を処理するときに問題に遭遇することがあります。

マイクロソフトウィンドウズ

Microsoft Windowsオペレーティングシステム(OS)で作業する場合、行末は通常、改行 - 改行+改行(CR + LF)の形式です。 LinuxやOSXのようなUnixマシンを使って編集したファイルを開くと、テキストに行末がまったくないように見えます。これは、Unixシステムでは、異なる行末の書式改行(LF)のみを適用しているためです。

これを修正するために、あなたは次の命令を実行することができます

git config --global core.autocrlf=true

チェックアウト時 、この命令により、Microsoft Windows OS(LF→CR + LF)に従って行末が設定されます。

Unixベース(Linux / OSX)

同様に、UnixベースのOSのユーザーがMicrosoft Windows OSで編集したファイルを読み込もうとすると、問題が発生する可能性があります。予期しない問題が発生しないようにする

git config --global core.autocrlf=input

コミットすると 、CR + LF - > + LFの行末が変更されます

1つのコマンドのみの設定

-c <name>=<value>を使用して、1つのコマンドに対してのみ構成を追加することができます。

.gitconfigで設定を変更することなく他のユーザーとしてコミットするには:

git -c user.email = mail@example commit -m "some message"

注:この例では、 user.nameuser.email両方を正確に指定する必要はありませんuser.emailは前回のコミットの欠落した情報をuser.emailます。

プロキシをセットアップする

あなたがプロキシの背後にいるなら、あなたはそれについてgitに伝える必要があります:

git config --global http.proxy http://my.proxy.com:portnumber

あなたがプロキシの背後にいなくても、

git config --global --unset http.proxy

自動正解

git config --global help.autocorrect 17

これはgitで自動修正を可能にし、あなたの軽微な誤り( git statusではなくgit statsなど)を許します。 help.autocorrect指定するパラメータは、 help.autocorrectコマンドを自動的に適用するまでにシステムが待機する時間をhelp.autocorrect指定します。上記のコマンドでは、17は自動修正コマンドを適用する前に1.7秒待つ必要があることを意味します。

しかし、大きなミスはコマンドが見つからないとみなされるので、 git testingitようなものを入力すると、 testingit is not a git command.

現在の設定を表示および編集する

Git configを使うと、gitの動作をカスタマイズできます。あなたの名前や電子メール、お気に入りのエディタやマージの仕方を設定するためによく使用されます。

現在の設定を表示する。

$ git config --list
...
core.editor=vim
credential.helper=osxkeychain
...

設定を編集するには:

$ git config <key> <value>    
$ git config core.ignorecase true

すべてのリポジトリに変更が--globalされるようにするには、 - --global

$ git config --global user.name "Your Name"
$ git config --global user.email "Your Email"
$ git config --global core.editor vi

あなたはあなたの変更を見るために再びリストすることができます。

複数のユーザー名とメールアドレス

Git 2.13以降、フォルダフィルタを使用して複数のユーザ名と電子メールアドレスを設定することができました。

Windowsの例:

.gitconfig

編集: git config --global -e

追加:

[includeIf "gitdir:D:/work"]
  path = .gitconfig-work.config    

[includeIf "gitdir:D:/opensource/"]
  path = .gitconfig-opensource.config
ノート
  • 順序は依存しています。最後は「勝ち」にマッチします。
  • 最後に/が必要です。例えば、 "gitdir:D:/work"は動作しません。
  • gitdir:接頭辞が必要です。

.gitconfig-work.config

.gitconfigと同じディレクトリにあるファイル

[user]
  name = Money
  email = [email protected]

.gitconfig-opensource.config

.gitconfigと同じディレクトリにあるファイル

[user]
  name = Nice
  email = [email protected]

Linuxの例

[includeIf "gitdir:~/work/"]
  path = .gitconfig-work
[includeIf "gitdir:~/opensource/"]
  path = .gitconfig-opensource

セクションの下のファイルの内容と注釈。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow