私は今、Githubのアカウントを会社用とプライベート用で2つ管理しています。
複数管理していて困ることは、このプロジェクトはプライベートアカウントで管理したいけどどうすればいいんだっけ
ってなるので管理方法を説明していきたいと思います。
global設定の確認
global設定というのは、全てのGitコミットに使われるメールアドレスとユーザー名などの情報です。
基本的にプロジェクトを作成し、何も設定を変えずにコミットするとこの情報でコミットが作成されます。
> git config --global --list
user.name=hogehoge
user.email=hoge@example.com
ui.color=auto
push.default=current
このコマンドを実行することでglobal設定を確認することができます。
ここはよく使うアカウントの情報を設定しておくのがいいと思います。設定を更新するには
git config --global user.name "fuga"
git config --global user.email "fuga@example.jp"
とすると変更できます。
local設定を行う(プロジェクトごとにGithubのアカウントを変える)
global設定のアカウントと異なるアカウントでGitを管理したいプロジェクトのディレクトリで以下のコマンドを実行します。
git config --local user.name "fuga"
git config --local user.email "fuga@example.jp"
設定が変更されたかを確認する場合は
git config --local --list
これでプロジェクトごとにアカウントを切り替えることができます。
シェルの作成
ただ、毎回プロジェクト作成時に上記のコマンドを打つのが面倒なためシェルを作成しています。
- シェルファイルを作る
自分のわかりやすいディレクトリで(私はsettingフォルダを作ってそこに置いています)
touch gitSetting_private.sh
これで空のシェルが作れます。
2.コマンドを羅列する
先ほど作ったファイルにコマンドを書き保存します。このシェルを実行することでここに記述したコマンドが実行されるようになります。
git config --local user.name "fuga"
git config --local user.email "fuga@example.jp"
3.シェルの実行
プライベートアカウントで管理したいプロジェクトのディレクトリに移動し、シェルを実行します。
// 権限を付与しないと実行できないため、権限を付与する
> chmod +x ~/work/setting/gitSetting_private.sh
// シェルの実行
> ~/work/setting/gitSetting_private.sh
設定ファイルを作成しておくことで以降はこのシェルを実行すれば設定することができます。
そのため、プライベート用と会社用の2つのシェルを準備しておけば便利かと思います!