リポジトリ設定したい(git config
)
$ git config -h
.gitconfig
にリポジトリ設定を記述できます。
ファイルを直接編集してもよいですが、基本的なアイテムはgit config
コマンドが便利です。
基本設定に関してはサルでも分かるGit入門 - Git設定を読むことをオススメします。 書いてあることが分からない場合はヘルプを見て確認するとよいです。
設定を確認したい(--list
)
$ git config -l
-l / --list
オプションで現在の設定を確認できます。
ユーザー設定したい(--global
)
$ git config --global user.name "Shota Takahashi"
$ git config --global user.email "shotakaha@gmail.com"
$ git config --global pull.rebase false
$ git config --global core.editor hx
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.co switch
$ git config --global alias.st status
--global
オプションでユーザー設定できます。
ユーザー名(user.name
)、
メールアドレス(user.email
)、
デフォルトのマージ方法(pull.rebase
)、
使用するエディター(core.editor
)などは、
あらかじめ設定しておきましょう。
設定は$HOME/.gitconfig
に保存されます。
このファイルに直接書き込んでもOKです。
エディターを設定したい(core.editor
)
// Emacsに設定
$ git config --global core.editor emacslient
// VS Codeに設定
$ git config --global core.editor "code --wait"
// Helixに設定
$ git config --global core.editor hx
core.editor
でコミットメッセージを編集するエディターを変更できます。
(使っているOSによるかもしれませんが)デフォルトではvim
が起動します。
Emacsのヘビーユーザーだったときはemacsclinent
を使っていました。
いまはVS Codeを使っているためcode --wait
に設定しています。
tigを使う場合はhx
(Helix)もいいかなと思います。
注釈
ターミナル内でEmacsを起動するだけならemacs -nw
でもできます。
しかし、真のEmacsユーザーであれば、基本的にEmacsは起動したままのはずです。
emacsclient
は起動済みのEmacsに接続できるため、起動時の待ち時間を感じることなく
コミット作業が可能です。
エイリアスを設定したい(alias
)
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.co switch
$ git config --global alias.st status
alias
でGitサブコマンドのエイリアス(=ショートカットキー)を設定できます。
上記のサンプルは、よく使われている基本コマンドのエイリアスです。
[alias]
co = switch
ci = commit
st = status
br = branch
graph = log --graph --oneline
hist = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
type = cat-file -t
dump = cat-file -p
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
lga = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative --all
エイリアスをまとめて設定する場合は、git config
を使うより、
$HOME/.gitconfig
を直接編集するほうが簡単です。
上記のサンプルは、僕が実際に設定しているエイリアスです。
git graph
はコミットログを一覧で確認できて便利です。
ヒント
Git 2.23(2019年8月)に、git checkout
コマンドが、
git switch
とgit restore
の2つのコマンドに分離されました。
switch
のエイリアスがco
となっているのはcheckout
だったころの名残です。
注釈
後述する
Magit
(EmacsのGitクライアント)および
EdaMagit
(MagitのVS Code移植版)を使い始めてから、
コマンド操作することは減りました。
マージ設定したい
// mergeを使用
$ git config --global pull.rebase false
// rebaseを使用
$ git config --global pull.rebase true
// fast-forwardを使用
$ git config --global pull.ff only
pull
で、リモートからプルしたときのマージ方法を設定できます。
基本はpull.rebase false
でよいと思います。
注釈
Git2.27.0(2020年6月)以降、 マージ方法が設定されていないと警告が表示されるようになりました。