知識(shí)來(lái)源GitHub入門(mén)與實(shí)踐
Git是分散型版本管理系統(tǒng)攘已,但我們前面所學(xué)習(xí)的,都是針對(duì)單一本地倉(cāng)庫(kù)的操作×埽現(xiàn)在開(kāi)始接觸遠(yuǎn)程倉(cāng)庫(kù)样勃。遠(yuǎn)程倉(cāng)庫(kù)就是與我們本地倉(cāng)庫(kù)相對(duì)獨(dú)立的另一個(gè)倉(cāng)庫(kù)。讓我們先在GitHub創(chuàng)建一個(gè)倉(cāng)庫(kù)性芬,并將其設(shè)置為本地倉(cāng)庫(kù)的遠(yuǎn)程倉(cāng)庫(kù)峡眶。
在GitHub上創(chuàng)建一新倉(cāng)庫(kù),防止與其他倉(cāng)庫(kù)混淆植锉,倉(cāng)庫(kù)名與本地一致辫樱,即git-tutorial。創(chuàng)建時(shí)不要勾選Initialize this repository with a README選項(xiàng)俊庇。因?yàn)橐坏﹦?chuàng)建了狮暑,GitHub一側(cè)的倉(cāng)庫(kù)就會(huì)自動(dòng)生成README文件鸡挠,從創(chuàng)建之初便與本地倉(cāng)庫(kù)失去了整合性。雖然到時(shí)候可以強(qiáng)制覆蓋搬男,但是為了防止這一種情況發(fā)生拣展,到那時(shí)還是建議不要勾選該選項(xiàng),直接點(diǎn)擊Create repository創(chuàng)建倉(cāng)庫(kù)缔逛。
git remote add——添加遠(yuǎn)程倉(cāng)庫(kù)
在GitHub上創(chuàng)建的倉(cāng)庫(kù)路徑為"git@github.com:用戶名/git-tutorial.git"”赴#現(xiàn)在用git remote add命令將它設(shè)置成本地倉(cāng)庫(kù)的遠(yuǎn)程倉(cāng)庫(kù)。
$ git remote add origin git@github.com:JiangCheng97/git-tutorial.git
按照上述格式執(zhí)行g(shù)it remote add命令之后译株,Git會(huì)自動(dòng)將git@github.com:JiangCheng97/git-tutorial.git遠(yuǎn)程倉(cāng)庫(kù)設(shè)置為origin(標(biāo)識(shí)符)瓜喇。
git push —— 推送至遠(yuǎn)程倉(cāng)庫(kù)
-
推送至master分支
如果想將當(dāng)前分支下的本地倉(cāng)庫(kù)內(nèi)容推送至遠(yuǎn)程倉(cāng)庫(kù),需要用到git push命令∏该樱現(xiàn)在假定我們?cè)趍aster分支下進(jìn)行操作乘寒。
$ git push -u origin master
Enter passphrase for key '/c/Users/msi/.ssh/id_rsa':
Enumerating objects: 21, done.
Counting objects: 100% (21/21), done.
Delta compression using up to 8 threads
Compressing objects: 100% (14/14), done.
Writing objects: 100% (21/21), 1.79 KiB | 459.00 KiB/s, done.
Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), done.
To github.com:JiangCheng97/git-tutorial.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
像這樣執(zhí)行g(shù)it push命令,當(dāng)前分支的內(nèi)容就會(huì)被推送給遠(yuǎn)程倉(cāng)庫(kù)origin的master分支匪补。-u參數(shù)可以在推送的同時(shí)伞辛,將origin倉(cāng)庫(kù)的master分支設(shè)置為本地倉(cāng)庫(kù)當(dāng)前分支的upstream(上游)。添加了這個(gè)參數(shù)夯缺,將來(lái)運(yùn)行g(shù)it pull命令從遠(yuǎn)程倉(cāng)庫(kù)獲取內(nèi)容時(shí)蚤氏,本地倉(cāng)庫(kù)的這個(gè)分支就可以直接從origin的master分支獲取內(nèi)容,省去另外添加參數(shù)的煩惱踊兜。
-
推送至master以外的分支
除了master以外的分支竿滨,遠(yuǎn)程倉(cāng)庫(kù)也可以創(chuàng)建其他分支。舉個(gè)例子捏境,我們?cè)诒镜貍}(cāng)庫(kù)中創(chuàng)建feature-D分支于游,并將它以同名形式push至遠(yuǎn)程倉(cāng)庫(kù)。
$ git branch feature-D $ git checkout feature-D Switched to branch 'feature-D'
我們?cè)诒镜貏?chuàng)建了feature-D分支垫言,現(xiàn)在我們將它push給遠(yuǎn)程倉(cāng)庫(kù)并保持分支名稱不變贰剥。
$ git push -u origin feature-D Enter passphrase for key '/c/Users/msi/.ssh/id_rsa': Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 remote: remote: Create a pull request for 'feature-D' on GitHub by visiting: remote: https://github.com/JiangCheng97/git-tutorial/pull/new/feature-D remote: To github.com:JiangCheng97/git-tutorial.git * [new branch] feature-D -> feature-D Branch 'feature-D' set up to track remote branch 'feature-D' from 'origin'.
現(xiàn)在,在遠(yuǎn)程倉(cāng)庫(kù)的GitHub頁(yè)面就可以查看feature-D分支筷频。