Git 配置多個用戶郵箱以及在 Sourcetree 中使用
目前常用的是 Gitee ,但也會經常逛 GitHub ,學習前輩們如何寫代碼,學習新知識。原本有 GitHub 賬號,但從來沒建過倉庫、提交過代碼,平時以 fork 、star 、download 居多。今天用新郵箱又注冊了一個 GitHub 賬號,配置好了 Git ,也算邁出一小步。關鍵處記錄如下。
提綱:
- 注冊Github賬號
- 生成新的ssh key
- Sourcetree本地設置郵箱
- github新建倉庫,Sourcetree克隆,修改提交
- 解決github訪問慢問題及有時clone、push報錯 OpenSSL SSL_read: Connection was reset, errno 10054的問題
- 注: 上述步驟中有時 GitHub 打開慢,需要科學的方式上網解決。
一 、注冊GitHub賬號
在 GitHub 官網 用郵箱注冊即可。
二、生成新的ssh key
SSH key 提供了一種與 GitHub 通信的方式。通過這種方式,能夠在不輸入密碼的情況下,將 GitHub 作為自己的 remote 端服務器,進行版本控制。
原來已經有 Git ssh key ,且同時關聯了Gitee、GitHub、GitLab等,網上有相關教程不再贅述,當時是為了圖方便讓所有的都使用同一個ssh key,現在的需求是新的 GitHub 賬號也要單獨生成一個 ssh key,注意 GitHub 注冊郵箱 和此處用於提交的郵箱不一定要是同一個郵箱,因為我之前的郵箱綁過 GitHub,用原來的 ssh GitHub 會報錯,所以采用了注冊郵箱當提交郵箱,在后續步驟中 驗證令牌后 會發現兩個GitHub 提交郵箱都是可以提交的。為方便區分才設置倉庫 local 設置。步驟如下:
參考博客 如何生成 ssh key ,
-
進入
C:\Users\[username]\.ssh
目錄,如果沒有.ssh
需要在上方查看中勾上 『隱藏的項目』、『文件擴展名』這兩個。 -
cmd 中輸入
ssh-keygen -t rsa -C "your_email@example.com"
。回車;在是要輸入新的ssh文件名,輸入rsb
回車;要求輸入 passphrase 本步驟可以跳過,直接回車兩次,最后生成新的 ssh。



-
將
id_rsb.pub
中的字符復制到 GitHub 的 ssh key 中。
三、Sourcetree 新增郵箱
參考博客 解決Sourcetree 推 GitHub 不停彈登錄窗Logon failed ,工具 =>選項 =>驗證 =>添加 => GitHUb HTTPS OAuth 刷新令牌,驗證郵箱賬戶。
四、github新建倉庫,Sourcetree克隆
GitHub新建倉庫,Sourcetree克隆,參考博客 Git配置多用戶和郵箱,了解到Git用戶信息配置一共有三個級別:system(系統級)、global(用戶級)和local(版本庫)。system 的配置整個系統只有一個,global 的配置每個賬戶只有一個,local 的配置取決於Git版本庫數量,在版本庫才能看到。從Git官網的資料來看,這三個級別是逐層覆蓋的。首先去查找system配置,其次查找 global 配置,最后查找 local 配置。逐層查找的過程中若查到配置值,則會覆蓋上一層的配置。假如三個級別都配置了用戶信息,則最后生效的配置是 local (版本庫)級的。倉庫設置自己的提交郵箱優先級最高,在 Sourcetree 設置如下:

五、測試 Sourcetree 中 pull/push/clone
參考博客 clone、push報錯 OpenSSL SSL_read: Connection was reset, errno 10054的問題,很有可能是網絡不穩定,連接超時導致的,解決方法:
打開 cmd,取消代理,
git config --global --unset http.proxy
git config --global --unset https.proxy
更改網絡認證設置,
git config --global http.sslVerify "false"
增加緩沖到500M,
git config --global http.postBuffer 524288000
GitHub 訪問、克隆、推送十分不穩定,經常報這個錯,即使科學的方式上網也是如此,只好耐心等待,反復嘗試。
最后就可以愉快的使用 GitHub 版本控制寫代碼啦,像那些認真總結經驗、無私分享知識、每天都有提交、貢獻開源項目的前輩們學習!