Win下Git關聯Gitbub出現的問題主要是與連接方式有關,大部分踩坑的原因也都是這塊,本文會一步一步地總結步驟并分析可能出現的問題及其解決方案,
第1步:配置SSH Key(僅限SSH連接,使用HTTP連接可從第二步開始),
ssh-keygen -t rsa -C "youremail@163.com"
youremail@163.com換成自己的郵箱
一路enter即可
可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個檔案,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,接下來使用使用vim輔助公鑰的內容復制到自己的Gitbub ssh Key中
vi ~/.ssh/id_ras.pub

這里可以使用
ssh -T git@github.com
測驗是否配置好SSH
如果看到
Hi lion6cheng! You've successfully authenticated, but GitHub does not provide shell access.
說明配置完成
第二步 初始化自己代碼倉庫做好push的本地專案
首先在自己的專案根目錄使用
git init
完成初始化
添加檔案并提交:
git add -A
這個- A會提交目錄下全部檔案們,平時使用更建議單獨add
add 會把檔案、變動 添加到快取區,之后我們還需要commit才行 這里默認commit到master目錄,但是在commit之前要先告訴Git你的身份
git config --global user.email "xxx@163.com"
git config --global user.name "xxx"
記得替換自己的資訊
然后就可以提交了
git commit -m 'init'
第三步 關聯遠程倉庫
首先在Github上創建一個新的專案,例如MADDPG-torch
將本地Git倉庫和遠程倉庫關聯起來,并設定遠程倉庫名稱:
在此處要引入一個知識,git 遠程倉庫兩種協議在解決問題之前,先要了解git遠程倉庫的兩種協議連接:ssh和http
1)ssh方式:這是一種相對安全的方式
這要求將本地的公鑰上傳到gitlab中,如下圖:
全面我們已經配置好ssh,接下來使用關聯
git remote add origin git@gitbub.com:lion6cheng/MADDPG-torch.git
2 http連接方式
git remote add origin https://github.com/lion6cheng/MADDPG-torch.git
之后需要手動登錄自己的github確認身份
查看遠程倉庫內容
git remote -v
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (fetch)
origin git@github.com:unlimitbladeworks/Data-Struts-Learning.git (push)
顯示上面的內容
如果需要重新配置的話,需要移除掉遠程倉庫的配置
$ git remote rm origin
完事以上切換操作,就可以開始push了
第四步 push代碼并關聯
$ git push origin master -u
由于遠程庫是空的,我們第一次推送master分支時,加上了-u引數,Git不但會把本地的master分支內容推送的遠程新的master分支,還會把本地的master分支和遠程的master分支關聯起來,在以后的推送或者拉取時就可以簡化命令
問題一般都在這一步出現比如
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
又或者
fatal: unable to access 'https://github.com/lion6cheng/MADDPG-torch.git/': OpenSSL SSL_read: Connection was reset, errno 10054
或許
fatal: unable to access 'https://github.com/lion6cheng/MADDPG-torch.git/': Failed to connect to github.com port 443: Timed out
解決方案
$ git config --global http.proxy 127.0.0.1:1080
$ git config --local http.proxy 127.0.0.1:1080
git config --global http.proxy 127.0.0.1:1080 為全域的 git 專案都設定代理
git config --local http.proxy 127.0.0.1:1080 為某個 git 專案單獨設定代理
修改git config
vi ~/.ssh/config
將下面內容粘貼進去
Host github.com
Hostname ssh.github.com
Port 443
:wq保存
然后從新push
$ git push origin master -u

可以在自己的github主頁上看到

因為美國黑人弗洛伊德問題,認為master是黑人歧視運動的敏感詞匯,現在github上的主分支用main取代了master,無語ing
有問題歡迎留言評論我都會積極回答
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/335349.html
標籤:其他
