カテゴリー
Microsoft

git config のパスやコマンドの書き方整理

git config で設定する値の書き方ポイント

  • パス、変数 ($ARG 形式の、展開されるパスなど) やコマンドを ¥" で囲む方法
  • パスやコマンドを ' で囲み、変数は囲まない方法
    • .gitconfig を直に編集するならば、設定値全体を " で囲わなくても問題ない。
    • git config コマンドで設定する場合は、設定値全体を " で囲む方が良い。
    • 設定値がパスの場合は設定値に半角スペースを含む場合にエラーとならないようにするために、
    • また、設定値がコマンドの場合はコマンド中の半角スペースが git config のオプションと誤認識されないようにするために。

私たちは、見た目が良く理解しやすいため、パスやコマンドを ' で囲む方法を採用しています。

.gitconfig ファイルの指定方法実例

コメントにしていない部分が実際に設定している値となります。

値としてダブルクオーテーションを使いたい場合は、¥ でエスケープする必要があり、可読性が下がります><。

[core]
  # 下記のいずれの形式でも設定可能
  #editor = ¥"C:/Users/username/AppData/Local/vim/gvim.exe¥" -c ¥"set fenc=utf-8¥"
  #editor = "'C:/Users/username/AppData/Local/vim/gvim.exe' -c 'set fenc=utf-8'"
  editor = 'C:/Users/username/AppData/Local/vim/gvim.exe' -c 'set fenc=utf-8'
[difftool "winmerge"]
  # 下記のいずれの形式でも設定可能
  #cmd = ¥"C:Program Files/WinMerge/winmergeu.exe¥" -r -u ¥"$LOCAL¥" ¥"$REMOTE¥"
  #cmd = "'C:Program Files/WinMerge/winmergeu.exe' -r -u $LOCAL $REMOTE"
  cmd = 'C:Program Files/WinMerge/winmergeu.exe' -r -u $LOCAL $REMOTE

git config コマンでの指定方法実例

# 下記のいずれの方法でも設定可能
git config --global core.editor ¥"C:/Users/username/AppData/Local/vim/gvim.exe¥" -c ¥"set fenc=utf-8¥"
git config --global core.editor "'C:/Users/username/AppData/Local/vim/gvim.exe' -c 'set fenc=utf-8'"

.gitconfig ファイルを確認しますと、全体を囲っていたシングルクオーテーションまたはダブルクオーテーションのいずれも除いて登録されていました。

コマンドから設定値の確認を行うと、パスとコマンドを囲むクオーテーションの違いのみでした。

$ git config --global core.editor ¥"C:/Users/username/AppData/Local/vim/gvim.exe¥" -c ¥"set fenc=utf-8¥"
$ git config --global --get core.editor
"C:/Users/username/AppData/Local/vim/gvim.exe" -c "set fenc=utf-8"

$ git config --global core.editor "'C:/Users/username/AppData/Local/vim/gvim.exe' -c 'set fenc=utf-8'"
$ git config --global --get core.editor
'C:/Users/username/AppData/Local/vim/gvim.exe' -c 'set fenc=utf-8'

おわりに

git config の調べ物をしておりますと、設定の書き方が違う、ということがありました。

どちらも正解なのでしょうけれども、押さえるべきポイントと、読みやすい書きやすいやり方を整理したくて今回の投稿となりました。

以上です。

コメントを残す