Git多賬號登陸

史前圖騰發表於2017-12-13

前言

最近工作上遇到了使用git+repo的情況,需要用公司的郵箱和域賬號名重新申請git賬號,而我本身在github上也有一些開源專案,這裡就是記錄一下我是如何實現git多賬號登陸問題

取消git全域性設定

很多同學照著網上的教程,都會對git進行全域性設定,例如

git config --global user.name "your_name"
git config --global user.email  "your_email"
複製程式碼

如果你多參與的專案都允許你用同一個使用者名稱和郵箱,這樣設定當然沒問題,但是,一旦你進入公司,估計是沒有自主選擇權利的,公司都會配置相應的域賬號和郵箱,因此我們首先需要取消git的全域性設定

git config --global --unset user.name
git config --global --unset user.email
複製程式碼

針對每個專案,單獨設定使用者名稱和郵箱,設定方法如下:

git config user.name "your_name"
git config user.email "your_email"
複製程式碼

說白了,也就是進入到你的git專案相對根目錄下,然後執行git config設定記錄

SSH配置

  1. 我現在有兩個git專案,公司github 2.在~/.ssh目錄下,使用 ssh-keygen -C "your_email" -t rsa生成公私祕鑰,命名分別為 id_rsa_公司,id_rsa_github,公鑰的內容需要分別上傳到git專案的伺服器上
  2. 開啟ssh-agent 這裡如果你用的github官方的bash,ssh-agent -s,如果是其他的,比如msysgit,eval $(ssh-agent -s)
  3. 新增私鑰
 ssh-add ~/.ssh/id_rsa_公司
 ssh-add ~/.ssh/id_rsa_gitlab
複製程式碼
  1. 在~/.ssh目錄下建立config檔案,進行相應配置:
# 公司
    Host 公司地址.com
        HostName 公司地址.com  //這裡填你們公司的git網址即可
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_公司
        User xander
    
# github
    Host github.com
        HostName github.com
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa_github
        User Xander

複製程式碼

老專案新新增.gitignore檔案

首先為避免衝突需要先同步下遠端倉庫

$ git pull

在本地專案目錄下刪除快取

$ git rm -r --cached .

新建.gitignore檔案

在專案的根目錄下面新建.gitignore檔案並新增相應的過濾規則

再次add所有檔案

輸入以下命令,再次將專案中所有檔案新增到本地倉庫快取中

$ git add .

再次新增commit

這次commit是為了說明新增ignore檔案的。

$ git commit -m "add ignore"

最後提交到遠端倉庫即可

$ git push

相關文章