簡單嘮叨幾句哈。之前工作的時候,由於是在大廠,程式碼提交、版本管理都是多人協作的,所以公司當時用的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 'https://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 'https://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 'https://github.com/android-project/MyProject.git/': The requested URL returned error: 403
答:這個問題就是設定令牌的時候沒有勾選許可權導致的,可以看下本文中介紹的第六項第1條。
至此,差不多全部OK了,可能你在操作的過程中還會遇到其他或更多的問題,歡迎留言,我們一起討論!
轉載請註明出處!謝謝!