🔨
リモート接続時のエイリアス設定の自動化
困ったこと
前回の記事では無事GitHubアカウントをWorkとPrivateで切り分ける設定を行うことができました。
しかし、次のような問題が発生しました。
GitHubからリポジトリをクローンする際、デフォルトのURLは次のようになります:
git@github.com:username/repository.git
となっています。
一方で、私がWork用アカウントで接続するためには、以下のURLにする必要があります:
git@github-work:username/repository.git
これを毎回手動で変更していては不便です。
そこで、クローン時に自動で正しいリンクに変換してくれるように設定を変更します。
手順
まず、現在の設定に以下の変更を加えます。
~/.gitconfig
に次を追加:
[includeIf "gitdir:~/work/"]
path = ~/.gitconfig_work
この設定は、~/work/
配下のリポジトリに対して、特定のGit設定(ここでは~/.gitconfig_work
)を適用するためのものです。
~/.gitconfig_work
を作成:
[user]
name = work.name // Work用
email = your_work_email@example.com
-
リモートURL変換の設定を追加:
メインの~/.gitconfig
に以下を追加します。
[url "git@github-work:"]
insteadOf = git@github.com:
いざ実証
Workディレクトリに移動してリポジトリをクローンします。
cd ~/work
git clone "git@github.com:username/repository.git"
クローンが成功したら、リモートURLが正しく設定されているか確認しましょう
cd repository
git remote -v
以下のようにgit@github-work:
が表示されれば成功です。
origin git@github-work:username/repository.git (fetch)
origin git@github-work:username/repository.git (push)
Discussion