[解決済み] Gitの設定はどこから来ているのですか?
質問
のリストが2つあることに気づきました。
core.autocrlf
を実行すると
git config -l
$ git config -l
core.symlinks=false
core.autocrlf=false
color.diff=auto
color.status=auto
color.branch=auto
color.interactive=true
pack.packsizelimit=2g
help.format=html
http.sslcainfo=/bin/curl-ca-bundle.crt
sendemail.smtpserver=/bin/msmtp.exe
diff.astextplain.textconv=astextplain
rebase.autosquash=true
user.name=name
[email protected]
core.autocrlf=true
最後の3つ(user.nameから下)は、私の
C:\users\username\.gitconfig
ファイルにある唯一のものです。他のものはすべてどこから来ているのでしょうか? なぜ core.autocrlf は 2 回リストされているのですか?
これは MSysGit 1.8.3 で、Sourcetree もインストールされています (Windows 7)。Sourcetree では、"Allow Sourcetree to modify your global Git config files" のチェックを外しました。
どのように解決するのですか?
Gitは、設定ファイルの4つの場所をチェックします。
-
あなたのマシンのシステム
.gitconfig
ファイルを作成します。 -
あなたのユーザー
.gitconfig
にあるファイル~/.gitconfig
. -
にある 2 つ目のユーザ固有の設定ファイル。
$XDG_CONFIG_HOME/git/config
または$HOME/.config/git/config
. -
ローカルリポジトリの設定ファイル
.git/config
.
設定は次の順序でカスケードされ、各ファイルはその上のファイルで定義された設定を追加またはオーバーライドします。
- システム構成。
- ユーザー設定。
- リポジトリ固有の設定。
各ファイルが何を定義しているかは、以下のコマンドで確認することができます。
# System, applies to entire machine and all users
$ git config --system --list
$ git config --system --edit
# User defined
$ git config --global --list
$ git config --global --edit
リポジトリ固有のファイルが何を定義しているかは、ファイルを開くことで確認できます。
.git/config
を開いてください。
Windows で MSysGit を使っている場合は、おそらくユーザー
~/.gitconfig
というファイルがあるはずです。
%homepath%
を指定した場合
echo %homepath%
をWindowsのコマンドプロンプトから使用した場合。
から
のドキュメントから
git config
:
で明示的に設定しない場合は
--file
で明示的に設定されていない場合、4つのファイルにおいてgit config
は設定オプションを検索します。
$(prefix)/etc/gitconfig
システム全体の設定ファイルです。
$XDG_CONFIG_HOME/git/config
2つ目のユーザー固有の設定ファイルです。もし
$XDG_CONFIG_HOME
が が設定されていないか、空である場合。$HOME/.config/git/config
が使われます。このファイルで設定された このファイルで設定された単一値変数は にあるものはすべて~/.gitconfig
. このファイルを作成しないのはよい考えです。 このファイルのサポートはごく最近追加されたものだからです。 このファイルのサポートはごく最近追加されたものだからです。
~/.gitconfig
ユーザー固有の設定ファイルです。グローバル設定ファイルとも呼ばれます。 ファイルとも呼ばれます。
$GIT_DIR/config
リポジトリ固有の設定ファイルです。
これ以上のオプションが与えられない場合、すべての読み込みオプションは、利用可能なこれらのファイルのすべてを読み込みます。 読み込まれます。グローバルまたはシステム全体の 設定ファイルが利用できない場合、それらは無視されます。もし リポジトリ設定ファイルが利用できないか、読み込み可能でない場合。
git config
はゼロ以外のエラーコードで終了します。しかし、どちらの場合にも もエラーメッセージは発行されません。ファイルは上記の順序で読み込まれ、最後に見つかった値が先に読み込まれた値より優先されます。 が先に読み込まれた値より優先されます。複数の値が読み込まれた場合 の場合、すべてのファイルからキーのすべての値が使用されます。
すべての書き込みオプションは、デフォルトで、リポジトリ固有の 設定ファイルに書き込まれます。これは次のようなオプションにも影響することに注意してください。
--replace-all
と--unset
.git config
は一度に一つのファイルしか変更しません。 一度に一つのファイルしか変更しません。これらのルールは、コマンドライン オプションまたは環境変数によって上書きできます。 環境変数で上書きできます。そのため
--global
と--system
オプションは は、使用するファイルをそれぞれグローバルファイルまたはシステムワイド ファイルに限定します。 またGIT_CONFIG
環境変数も同じような効果を持ちますが は任意のファイル名を指定することができます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] Git でブランチからコミットを削除する
-
[解決済み] ローカルファイルシステムからファイルを削除せずに、Git リポジトリからファイルを削除する
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
解决[email protected]。パーミッションが拒否されました (publickey)。リモートリポジトリから読み取れませんでした
-
[解決済み] git のグローバルな設定データはどこに保存されていますか?
-
[解決済み] Macでgitの設定ファイルを探す方法 [重複] (英語)
-
[解決済み] チェリーピックのコンフリクトを解決するにはどうしたらいいですか?
-
[解決済み] フォルダからサブモジュールのリポジトリを作成し、そのgitコミット履歴を保持する
-
[解決済み] バージョン管理には、なぜタグとリリース/ベータブランチを使い分ける必要があるのでしょうか?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] VSCodeからgitの統合を削除する
-
[解決済み] Git の 'master' ブランチを 'release' にリネームするには?
-
[解決済み] Git タグリスト、コミット sha1 ハッシュの表示