在将本地git倉庫内容送出至GitHub倉庫之前,需在GitHub建立一個同名的Repository(參考git&github自學教程(2):注冊及配置github資訊,初步了解git與github互動流程)。不要自動生成README.md,以避免與本地倉庫産生沖突。
一,推送至GitHub倉庫
1,git remote add——添加遠端倉庫
剛剛在在GitHub上建立的倉庫路徑為“gi[email protected]:xiaolu2333/git-tutorial.git”。現在用 git remote add指令将它設定成本地倉庫的遠端倉庫:

Git 會自動将[email protected]:xiaolu2333/git-tutorial.git遠端倉庫的名稱設定為 origin,即遠端倉庫的本地别名。可使用git remote prune origin删除。
2,git push——推送至遠端倉庫
1,推送至 master 分支
目前分支的内容就會被推送給遠端倉庫origin 的 master 分支:
-u參數可以在推送的同時,将 origin 倉庫的 master 分支設定為本地倉庫目前分支的 upstream(上遊)。添加了這個參數,将來運作 git pull指令從遠端倉庫擷取内容時,本地倉庫的這個分支就可以直接從 origin 的 master 分支擷取内容,省去了另外添加參數的麻煩。
具體參數作用可通過”git --help 指令名"進行檢視。
2,推送至 master 以外的分支
可見遠端倉庫也是可以建立分支的,也就是說,我們可以将本地的某個分支推送到遠端倉庫的某一個分支下:
二,從遠端倉庫擷取
前面我們push了master與一個feature-D,所有能夠通路這個遠端倉庫的
人都可以擷取 feature-D 分支并加以修改,現在我們将模拟一位新開發者來共同開發剛剛的項目。
1,擷取遠端倉庫
首先我們需要将工作目錄切換到另一個檔案中:
再克隆項目:
進入項目目錄,預設是處于master分支:
2,擷取遠端的 feature-D 分支
檢視所有分支:
将 feature-D 分支擷取至本地倉庫:
3,向本地的 feature-D 分支送出更改
4,推送 feature-D 分支
克隆倉庫》》擷取分支》》開發》》推送。
三,git pull——拉取最新的遠端倉庫分支
作為項目的最初pusher,push後的D分支是沒有做任何動作的,現在有其他人在D分支中進行了開發,如果我們需要的話,就必須拉取最新的D分支。
首先切換回最初的工作目錄:
我們還是處于D分支,使用 git pull 指令,将本地的 feature-D 分支更新到最新狀态:
今後隻需要像平常一樣在本地進行送出再 push 給遠端倉庫,就可以與其他開發者同時在同一個分支中進行作業,不斷給 feature-D 增加新功能。
如果兩人同時修改了同一部分的源代碼, push 時就很容易發生沖突。是以多名開發者在同一個分支中進行作業時,為減少沖突情況的發生,建議更頻繁地進行 push 和 pull 操作。