簡(jiǎn)單嘮叨幾句哈摩桶。之前工作的時(shí)候闺兢,由于是在大廠茂缚,代碼提交、版本管理都是多人協(xié)作的屋谭,所以公司當(dāng)時(shí)用的git + gerrit來(lái)實(shí)現(xiàn)代碼管理的脚囊。當(dāng)時(shí)入職時(shí)并不懂git的使用,雖然有大神寫(xiě)好配置git的文檔桐磁,我們也就是照葫蘆畫(huà)瓢而已悔耘,懵懵懂懂的。我擂。衬以。由于工作的變動(dòng),到小公司后不再使用git校摩,之前學(xué)的那些也早已忘到腦后了看峻,時(shí)隔多年,想想還是得把git給撿起來(lái)秧耗,畢竟接觸過(guò)的技術(shù)不能丟哈备籽。哈哈,跑題了哈分井,下面言歸正傳车猬。
git遠(yuǎn)程連接GitHub有四種傳輸協(xié)議:
l 本地協(xié)議(local)
l git協(xié)議
l HTTPS
l SSH
由于現(xiàn)在大多數(shù)都是遠(yuǎn)程操作及多人共享,本地協(xié)議(local)就有些局限了尺锚,因此不常用珠闰。而git協(xié)議缺乏授權(quán)機(jī)制,并且搭建也比較困難瘫辩,因此也不常用伏嗜。
常用的也就是HTTPS和SSH這兩中協(xié)議了,這種協(xié)議的傳輸速度都挺快伐厌,HTTPS適合開(kāi)源的項(xiàng)目承绸,SSH協(xié)議更適合企業(yè)內(nèi)部項(xiàng)目。
本篇介紹下通過(guò)HTTPS協(xié)議連接GitHub倉(cāng)庫(kù)挣轨;
本篇使用Android項(xiàng)目 + Mac來(lái)完成操作(Windows系統(tǒng)也差不多一樣)军熏。
一、注冊(cè)GitHub賬號(hào)(有的話可以忽略此步)
登錄GitHub官網(wǎng)卷扮,點(diǎn)擊右上角 sign up荡澎,接下來(lái)按提示完成就好均践。
二、在GitHub上創(chuàng)建一個(gè)項(xiàng)目
登錄后點(diǎn)擊右上角 + 號(hào)摩幔,點(diǎn)擊New Repository彤委,見(jiàn)下圖:
三、安裝git(已經(jīng)安裝過(guò)的可以忽略此步)
1或衡、安裝git
Mac:
git --version
Linus:
sudo dnf install git-all
Ubuntu:
sudo apt install git-all
Windows:命令行下載比較麻煩焦影,還得下載依賴庫(kù),去官網(wǎng)下載安裝即可
2薇宠、配置git
git config --global user.name “your namen”
git config --global user.email “your email”
四偷办、創(chuàng)建本地git倉(cāng)庫(kù)
創(chuàng)建git本地倉(cāng)庫(kù)有兩種形式(根據(jù)自己的需要,選其一中實(shí)現(xiàn)即可):
1澄港、通過(guò)git init方式創(chuàng)建
在項(xiàng)目的文件夾下運(yùn)行g(shù)it init,這樣就會(huì)在項(xiàng)目的文件夾下創(chuàng)建.git文件柄沮,例如 MyProject是我的項(xiàng)目文件夾回梧,在終端輸入:
cd Users/user/MyProject
git init
2、通過(guò)git clone方式創(chuàng)建
git clone 是把GitHub上的倉(cāng)庫(kù)給拉取下來(lái)祖搓,說(shuō)白點(diǎn)就是復(fù)制GitHub的倉(cāng)庫(kù)粘貼到本 地電腦上狱意,遠(yuǎn)程的倉(cāng)庫(kù)克隆到本地后也就是在本地創(chuàng)建了一個(gè)文件夾,同時(shí)文件夾內(nèi)會(huì) 自動(dòng)創(chuàng)建好.git文件拯欧。在終端輸入:
git clone https://github.com/zhangsan/android-project/MyProjiect.git
注意上面的鏈接最好復(fù)制GitHub倉(cāng)庫(kù)中的详囤,這樣不容易出錯(cuò),詳見(jiàn)下圖:
最后再把自己的項(xiàng)目復(fù)制到MyProject里就行了镐作。
五藏姐、提交代碼
完成以上的操作后,本地的git倉(cāng)庫(kù)就已經(jīng)創(chuàng)建好了该贾,接下來(lái)就可以看到代碼狀態(tài)和提 交代碼了羔杨,終端輸入以下命令:
git status
git add *
git commit -m "first commit"
六、連接遠(yuǎn)程GitHub倉(cāng)庫(kù)
1杨蛋、創(chuàng)建GitHub令牌
登錄GitHub -- 點(diǎn)擊 + 號(hào) -- Settings -- Developer Settings -- Personal access tokens
進(jìn)入后點(diǎn)擊右上角生成令牌按鈕兜材,彈出頁(yè)面后按照要求創(chuàng)建就好。
切記要選擇令牌的權(quán)限逞力,否則最后push的時(shí)候會(huì)報(bào)錯(cuò)曙寡,提示沒(méi)有權(quán)限訪問(wèn)。
2寇荧、關(guān)聯(lián)遠(yuǎn)程GitHub倉(cāng)庫(kù)
git remote set-url origin https://github.com/zhangsan/android-project/MyProject.git
然后我們可以查看下設(shè)置情況
git show remote origin
3举庶、上傳代碼到GitHub倉(cāng)庫(kù)
git push origin master
注意:push的過(guò)程中會(huì)讓輸入賬號(hào)和密碼,賬號(hào)就是你注冊(cè)GitHub的用戶名(用戶名區(qū)分大小寫(xiě))砚亭,密碼就是你剛剛生成的令牌灯变。
到此就完事了E孤辍!添祸!
新手一次就全部操作成功了滚粟?
接著往下看↓↓↓遇到的坑
1、git push的時(shí)候提示fatal: unable to access 'https://github.com/EdenLiyan/android-project/MyProject.git/': LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
答:這個(gè)問(wèn)題是提示連接到GitHub時(shí)候http請(qǐng)求出錯(cuò)了刃泌,因?yàn)镚itHub是國(guó)外網(wǎng)站凡壤,本身國(guó)內(nèi)訪問(wèn)就很慢,通過(guò)終端操作同樣也會(huì)出現(xiàn)此問(wèn)題耙替。解決方案就是重新再push一下就好了
2亚侠、git push的時(shí)候提示remote: Repository not found. fatal: repository 'https://github.com/android-project/MyProject.git/' not found
答:這個(gè)問(wèn)題的原因有很多,也可以看下官方回答俗扇。我是開(kāi)始在GitHub上創(chuàng)建倉(cāng)庫(kù)是設(shè)置的是private硝烂,后來(lái)又改成public就好了。也可以參考下StackOverflow上的回答铜幽。
3滞谢、git push的時(shí)候提示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
答:這個(gè)問(wèn)題就是設(shè)置令牌的時(shí)候沒(méi)有勾選權(quán)限導(dǎo)致的,可以看下本文中介紹的第六項(xiàng)第1條除抛。
如果本文對(duì)你有所幫助狮杨,歡迎點(diǎn)贊轉(zhuǎn)發(fā),也歡迎大家說(shuō)說(shuō)自己在學(xué)習(xí)的時(shí)候自己的一些心得到忽,方便大家一起學(xué)習(xí)共同成長(zhǎng)橄教!關(guān)注【Java架構(gòu)-大仙】閱讀更多技術(shù)干貨文章。