🦔

【git 】ユーザー切り替えを関数化

2023/01/03に公開

結論

.zshrc

function tomain() {
  git config --global user.name "name1"
  git config --global user.email "mail1@gmail.com"
}

function tosub() {
  git config --global user.name "name2"
  git config --global user.email "mail2@gmail.com"
}
% tomain

はじめに

gitでユーザー名を使い分けるというニッチなシーンに役立つ内容です。

内容

gitでユーザー名を使い分けるシーン(例えば趣味用のアカウントと職場用のアカウント)において、
一々git configでユーザーを使い分けるのは面倒臭い。

上記の煩わしさを最小にするための解決手法は以下です。

  1. カレントディレクトリの情報から自動で
  2. ユーザー名を変更する。

今回は後者についてのみ実装します。(前者については後日記事予定。)

ユーザー名はCUIからだと、git configで変更可能です。

具体的には% git config --global user.name "name1"のように書く必要があり、少し長いです。またメールアドレスまで別のものを使っていると、メールアドレス用のコマンドも打つ必要があります。

そこで以下のように関数化すれば、コマンドを打つコストが減ります。

function tomain() {
  git config --global user.name "name1"
  git config --global user.email "mail1@gmail.com"
}

function tosub() {
  git config --global user.name "name2"
  git config --global user.email "mail2@gmail.com"
}

ユーザーを3つ以上保持している場合は、さらに関数を付け加えれば実現可能です。

また.zshrcに書いておけばターミナル立ち上げで実行してくれるので便利です。
(.zshrcが多すぎて立ち上げに時間がかかる場合は別推奨、後日記事予定)

Discussion