git連接遠程GitHub倉庫詳細總結 for HTTPS協議

簡單嘮叨幾句哈。之前工作的時候,由於是在大廠,代碼提交、版本管理都是多人協作的,所以公司當時用的git + gerrit來實現代碼管理的。當時入職時並不懂git的使用,雖然有大神寫好配置git的文檔,我們也就是照葫蘆畫瓢而已,懵懵懂懂的。。。由於工作的變動,到小公司後不再使用git,之前學的那些也早已忘到腦後了,時隔多年,想想還是得把git給撿起來,畢竟接觸過的技術不能丟哈。哈哈,跑題了哈,下面言歸正傳。

 

git遠程連接GitHub有四種傳輸協議:

本地協議(local

l git協議

l HTTPS

l SSH

由於現在大多數都是遠程操作及多人共享,本地協議(local)就有些局限了,因此不常用。而git協議缺乏授權機制,並且搭建也比較困難,因此也不常用。

常用的也就是HTTPSSSH這兩中協議了,這種協議的傳輸速度都挺快,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了,可能你在操作的過程中還會遇到其他或更多的問題,歡迎留言,我們一起討論!

轉載請註明出處!謝謝!

 

Tags: