有沒有辦法通過SSH密鑰通過使用兩個不同的電子郵件地址來操作GitLab和GitHub的帳戶?Git的SSH密鑰:兩個不同的賬戶github上和gitlab
我有兩個郵件ID,[email protected]
和[email protected]
,我想推動一些項目gitlab以及一些其他的項目,GitHub的,也是我想避免密碼在每次推送命令進入提示。可能嗎?
有沒有辦法通過SSH密鑰通過使用兩個不同的電子郵件地址來操作GitLab和GitHub的帳戶?Git的SSH密鑰:兩個不同的賬戶github上和gitlab
我有兩個郵件ID,[email protected]
和[email protected]
,我想推動一些項目gitlab以及一些其他的項目,GitHub的,也是我想避免密碼在每次推送命令進入提示。可能嗎?
你可以嘗試使用SSH而不是https:上傳你的公共ssh git到服務器,並使用ssh url。例如,對於github上你不應該有這樣
https://github.com/<username>/<repo>.git
一個網址,但您應該有
[email protected]:<username>/<repo>.git
-
現在,使用不同的SSH密鑰或用戶名,你可以嘗試設置你的~/.ssh/config
文件類似
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/gitlab
User [email protected]
Host github.com
HostName github.com
IdentityFile ~/.ssh/github
User [email protected]
凡IdentityFile
是私鑰ssh密鑰的路徑
但推送到存儲庫時,它一直在問我'用戶名'和'密碼' –
這可能是因爲您使用的是https網址。我只是相應地更新了我的答案 – gturri
github的一個選項是使用personal access tokens。只需登錄到您的帳戶並轉到您的設置(點擊個人資料圖片旁邊的下拉框),然後滾動到設置頁面的底部,您將看到一個指向「個人訪問令牌」的鏈接。
然後創建一個具有完全訪問回購權限的令牌(如果所有您想要執行的操作都是推拉式操作,則其他API訪問並不重要)。
令牌系統創建爲允許API訪問github,但它也可以與HTTPS鏈接一起使用。
使用HTTPS而不是SSH克隆您的回購(或者,如果它已經是SSH,那麼只需複製HTTPS網址並替換您的.git/config
文件中的SSH網址)。然後編輯您的.git/config
文件並將訪問令牌添加到HTTPS網址。
的語法是通過Web瀏覽器使用的標準基本認證語法:
https://<YOUR_GITHUB_USERNAME>:<YOUR_ACCESS_TOKEN>@github.com
我用這允許我使用github上與多個用戶帳戶(工作,對我個人的項目,志願工作等。 )。
爲避免ssh詢問密碼使用[ssh-agent](https://stackoverflow.com/a/10032655/7976758)。 – phd