天天看點

Git學習筆記(八)---多人協作

當你從遠端倉庫克隆時,實際上Git自動把本地的

master

分支和遠端的

master

分支對應起來了,并且,遠端倉庫的預設名稱是

origin

要檢視遠端庫的資訊,用

git remote

Git學習筆記(八)---多人協作

或者,用

git remote -v

顯示更詳細的資訊:

Git學習筆記(八)---多人協作

上面顯示了可以抓取和推送的origin的位址。如果沒有推送權限,就看不到push的位址。

推送分支

推送分支,就是把該分支上的所有本地送出推送到遠端庫。推送時,要指定本地分支,這樣,Git就會把該分支推送到遠端庫對應的遠端分支上:

Git學習筆記(八)---多人協作

推送了master跟dev分支。

但是,并不是一定要把本地分支往遠端推送,那麼,哪些分支需要推送,哪些不需要呢?

master分支是主分支,是以要時刻與遠端同步;

dev分支是開發分支,團隊所有成員都需要在上面工作,是以也需要與遠端同步;

bug分支隻用于在本地修複bug,就沒必要推到遠端了,除非老闆要看看你每周到底修複了幾個bug;

feature分支是否推到遠端,取決于你是否和你的小夥伴合作在上面開發

抓取分支

多人協作時,大家都會往master和dev分支上推送各自的修改。

現在另一個人從中央倉庫克隆了項目,預設情況下,他隻能看到master分支,現在他想在其他分支上做開發,先運作

git branch –r

檢視遠端有哪些分支:

Git學習筆記(八)---多人協作

現在,你的小夥伴要在dev分支上開發,就必須建立遠端origin的dev分支到本地,于是他用這個指令建立本地dev分支:

$ git checkout -b dev origin/dev
           

現在,他就可以在dev上繼續修改,然後,時不時地把dev分支push到遠端。

現在你想拉取遠端伺服器小夥伴的代碼,切換到dev分支上,并且運作:

git pull

Git學習筆記(八)---多人協作

你也許會發現上面的提示,

git pull

失敗了,原因是沒有指定本地

dev

分支與遠端

origin/dev

分支的連結,根據提示,設定

dev

origin/dev

的連結:

Git學習筆記(八)---多人協作

當然會提示你用新的指令。

怎麼删除遠端分支?用

git branch -dr origin/dev

:

Git學習筆記(八)---多人協作

是以,多人協作的工作模式通常是這樣:

首先,可以試圖用git push origin branch-name推送自己的修改;

如果推送失敗,則因為遠端分支比你的本地更新,需要先用git pull試圖合并;

如果合并有沖突,則解決沖突,并在本地送出;

沒有沖突或者解決掉沖突後,再用git push origin branch-name推送就能成功!

如果git pull提示“no tracking information”,則說明本地分支和遠端分支的連結關系沒有建立,用指令git

branch –set-upstream branch-name origin/branch-name。

這就是多人協作的工作模式,一旦熟悉了,就非常簡單。