git連接遠程GitHub倉庫詳細總結 for HTTPS協議
簡單嘮叨幾句哈。之前工作的時候,由於是在大廠,代碼提交、版本管理都是多人協作的,所以公司當時用的git + gerrit來實現代碼管理的。當時入職時並不懂git的使用,雖然有大神寫好配置git的文檔,我們也就是照葫蘆畫瓢而已,懵懵懂懂的。。。由於工作的變動,到小公司後不再使用git,之前學的那些也早已忘到腦後了,時隔多年,想想還是得把git給撿起來,畢竟接觸過的技術不能丟哈。哈哈,跑題了哈,下面言歸正傳。
git遠程連接GitHub有四種傳輸協議:
l 本地協議(local)
l git協議
l HTTPS
l SSH
由於現在大多數都是遠程操作及多人共享,本地協議(local)就有些局限了,因此不常用。而git協議缺乏授權機制,並且搭建也比較困難,因此也不常用。
常用的也就是HTTPS和SSH這兩中協議了,這種協議的傳輸速度都挺快,HTTPS適合開源的項目,SSH協議更適合企業內部項目。具體的我就不多啰嗦了,有興趣的朋友可以看一下這個詳細介紹
本篇介紹下通過HTTPS協議連接GitHub倉庫;
本篇使用Android項目 + Mac來完成操作(Windows系統也差不多一樣)。
一、註冊GitHub賬號(有的話可以忽略此步)
登錄GitHub官網,點擊右上角 sign up,接下來按提示完成就好。
二、在GitHub上創建一個項目
登錄後點擊右上角 + 號,點擊New Repository,見下圖:
三、安裝git(已經安裝過的可以忽略此步)
1、安裝git
Mac:
git --version
Linus:
sudo dnf install git-all
Ubuntu:
sudo apt install git-all
Windows:命令行下載比較麻煩,還得下載依賴庫,去官網下載安裝即可
2、配置git
git config --global user.name 「your namen」
git config --global user.email 「your email」
四、創建本地git倉庫
創建git本地倉庫有兩種形式(根據自己的需要,選其一中實現即可):
1、通過git init方式創建
在項目的文件夾下運行git init,這樣就會在項目的文件夾下創建.git文件,例如 MyProject是我的項目文件夾,在終端輸入:
cd Users/user/MyProject
git init
2、通過git clone方式創建
git clone 是把GitHub上的倉庫給拉取下來,說白點就是複製GitHub的倉庫粘貼到本 地電腦上,遠程的倉庫克隆到本地後也就是在本地創建了一個文件夾,同時文件夾內會 自動創建好.git文件。在終端輸入:
git clone https://github.com/zhangsan/android-project/MyProjiect.git
注意上面的鏈接最好複製GitHub倉庫中的,這樣不容易出錯,詳見下圖:
最後再把自己的項目複製到MyProject里就行了。
五、提交代碼
完成以上的操作後,本地的git倉庫就已經創建好了,接下來就可以看到代碼狀態和提 交代碼了,終端輸入以下命令:
git status
git add *
git commit -m "first commit"
六、連接遠程GitHub倉庫
1、創建GitHub令牌
登錄GitHub — 點擊 + 號 — Settings — Developer Settings — Personal access tokens
進入後點擊右上角生成令牌按鈕,彈出頁面後按照要求創建就好。
切記要選擇令牌的權限,否則最後push的時候會報錯,提示沒有權限訪問。
2、關聯遠程GitHub倉庫
git remote set-url origin https://github.com/zhangsan/android-project/MyProject.git
然後我們可以查看下設置情況
git show remote origin
3、上傳代碼到GitHub倉庫
git push origin master
注意:push的過程中會讓輸入賬號和密碼,賬號就是你註冊GitHub的用戶名(用戶名區分大小寫),密碼就是你剛剛生成的令牌。
到此就完事了!!!
新手一次就全部操作成功了?
接着往下看↓↓↓遇到的坑
1、git push的時候提示fatal: unable to access ‘//github.com/EdenLiyan/android-project/MyProject.git/’: LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
答:這個問題是提示連接到GitHub時候http請求出錯了,因為GitHub是國外網站,本身國內訪問就很慢,通過終端操作同樣也會出現此問題。解決方案就是重新再push一下就好了
2、git push的時候提示remote: Repository not found. fatal: repository ‘//github.com/android-project/MyProject.git/’ not found
答:這個問題的原因有很多,也可以看下官方回答。我是開始在GitHub上創建倉庫是設置的是private,後來又改成public就好了。也可以參考下StackOverflow上的回答。
3、git push的時候提示remote: Permission to EdenLiyan/HealthData.git denied to EdenLiyan. fatal: unable to access ‘//github.com/android-project/MyProject.git/’: The requested URL returned error: 403
答:這個問題就是設置令牌的時候沒有勾選權限導致的,可以看下本文中介紹的第六項第1條。
至此,差不多全部OK了,可能你在操作的過程中還會遇到其他或更多的問題,歡迎留言,我們一起討論!
轉載請註明出處!謝謝!