如何配置多個 git ssh keys 並依照專案動態切換 git config

如何配置多個 git ssh keys 並依照專案動態切換 git config

目錄

我有時候會在公司的電腦開發自己的專案,也會在家裡的電腦開發公司的專案,這時候就會遇到一個問題,就是公司的 Git 用的是公司的帳號,而自己的專案用的是自己的帳號,這時候就需要配置多個 Git SSH Key 並依照專案設置不同的 Git Config。

以下示範如何在同一台電腦,配置多個 Git SSH Key 並期待若專案在 Personal 資料夾時使用自己的帳號,若專案在其他資料夾時使用公司的帳號。

產生 SSH Key

首先我們需要產生兩組 SSH Key,一組是公司的,一組是自己的。

ssh-keygen -f  $HOME/.ssh/id_rsa -N ""
ssh-keygen -f $HOME/.ssh/id_rsa_personal -N ""

配置 SSH Key

接著我們需要配置 SSH Key,這裡我們需要在 $HOME/.ssh/config 中配置。

Host github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa

Host self.github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa_personal

配置 Git Config

接著我們需要配置 Git Config,這裡我們需要在 $HOME/.gitconfig 中配置當專案在 Personal 資料夾時使用的 Git Config。 下面的配置會讓 Git 在 $HOME/Personal/ 資料夾時使用 .gitconfig-personal 的設定。

git config --global includeif.gitdir/i:$HOME/Personal/.path=.gitconfig-personal

$HOME/.gitconfig 中配置的內容如下:

[includeIf "gitdir/i:$HOME/Personal/"]
        path = .gitconfig-personal

接著我們要在跟 .gitconfig 同一層的資料夾中新增一個 .gitconfig-personal 的檔案,這個檔案就是專案在 Personal 資料夾時使用的 Git Config。

[user]
        name = <personal-user-name>
        email = <personal-user-email>

這樣未來當我們要 clone 自己的專案時,只需要使用 self.github.com 的 Host 即可,而當我們要 clone 公司的專案時,只需要使用 github.com 的 Host 即可。 並且若專案在 Personal 資料夾時,Git 會自動使用 .gitconfig-personal 的設定。

相關文章

ShopBack 現金回饋指南:如何輕鬆獲得最高 40% 的購物回饋再送 100 元現金回饋

ShopBack 現金回饋指南:如何輕鬆獲得最高 40% 的購物回饋再送 100 元現金回饋

在這個網購盛行的時代,我們都希望能夠在購物的同時,也能獲得一些額外的好處,對吧?今天,我要介紹的是一個能讓你在網購時賺取現金回饋的平台 - Sh

閱讀更多
Kobo Nia 6” 閱讀器:您的隨身知識庫

Kobo Nia 6” 閱讀器:您的隨身知識庫

前言:探索 Kobo Nia 6” 的魅力 今天我要與大家分享的是一款我近期非常喜愛的電子閱讀器 — Kobo Nia 6”。在這個數位時代,電子閱讀器已經成為了許多書迷的必備工

閱讀更多
如何在 Hugo 網站中加入 LikeCoin 讚賞鍵提升創作收入

如何在 Hugo 網站中加入 LikeCoin 讚賞鍵提升創作收入

因為我本身是 LikeCoin 支持者,也是推崇文章開源但內容有價的創作者。 因此希望即便從 WordPress 轉移至 Hugo ,依然能夠使用 LikeCoin 作為連結我與讀者間的橋梁。 本文以 hugo v0.114.1 搭配 LoveIt

閱讀更多