git多帳號配置

工做中每每咱們會遇到這種狀況, 公司給了郵箱, 採用相似gitlab之類的git服務託管商, 而咱們又擁有本身的github帳戶. 閒暇之餘, 咱們但願能將我的開源項目或者學習筆記之類的託管到github上, 這時就涉及到git的多帳號配置了. python

具體流程git

  • ssh-keygen -t rsa -C test@test.com, 生成祕鑰, 注意不要覆蓋原有的祕鑰文件(生成時候從新命名該祕鑰文件, 其它直接默認便可)
  • ssh-add -l 查看當前電腦已經添加了多少用戶標識(也就是祕鑰), .ssh下的id_rsa文件(首次新建的祕鑰文件)不添加也可被git感知
  • ssh-add ~/.ssh/id_rsa_custom, 添加自定義的祕鑰, 若報錯, 請使用ssh-agent bash開啓bash環境代理來執行相關的git命令
  • 編輯.ssh目錄下的config文件, 不存在則新建便可. 該文件內容以下:
    Host git@github.com
    HostName https://github.com
    User git
    IdentityFile ~/.ssh/id_rsa_custom複製代碼
    • Host 爲你的HostName的別名, 可自定義使用(若自定義後則執行克隆時候, 使用git clone custom_name:xxx/xxx.git, 其它操做相似)
    • HostName 爲你的git服務託管商網址, 我這邊直接選擇的是github
    • User表示你採用的是那種代碼託管服務, 這裏採用git
    • IdentityFile 爲你的祕鑰文件(帶上路徑)
  • ssh -T git@github.com 測試自定義的帳號是否配置成功
  • 配置好以上後, 基本就能夠進行多帳號的環境開發了. 可是通常在提交或者推送時候, git是須要你提供你的emai, 此時能夠將主要開發的郵件設置爲全局的(git config --global user.email primary@primary.com, 設置全局用戶名git config --global user.name primary_name). 若是在你的開源工程或者學習工程不想使用該郵件, 則進去該工程根目錄下, 執行git config user.email test@test.com以及git config user.name test. 此時改工程下的用戶名和郵件會取代全局的用戶名和郵件

bug記錄github

  • question : fatal: refusing to merge unrelated histories
  • method : git pull origin master --allow-unrelated-histories
相關文章
相關標籤/搜索