Git推送至遠(yuǎn)程倉(cāng)庫(kù)

知識(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"?,F(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分支。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容