咱們知道不管是分佈式版本控制系統仍是集中式版本控制系統,若是要實現多人協做,都須要一個遠程服務器,具體針對某一項目來講,就是一個遠程倉庫。
不管使用什麼版本控制工具,對於每個成員而言,無外乎就是共享數據(push or pull),而這些協做都須要經過一個處於遠端主機上的遠端倉庫完成。本篇主要介紹Git如何與遠端主機進行操做,主要包括:添加和移除遠端主機,添加遠程倉庫,管理遠程分支等。javascript
咱們首先要了解如何顯示地添加一個遠端主機,在Git中有兩種方式添加遠端主機:能夠分爲顯式或隱式。
在未添加遠端主機以前,查看主機信息爲空:java
隱式添加遠端主機的方式就是使用git clone <遠端地址>
指令,在克隆遠端倉庫的同時,
會自動添加該遠端主機到當前目錄,而且默認主機名爲origin:react
查看信息:git
不少時候咱們也須要顯示添加遠端主機,這須要使用git remote add <主機別名> <遠端地址>
指令顯式添加一個遠端主機:服務器
指令中,主機別名參數爲自定義指定,遠端地址即遠端服務器上的訪問地址。分佈式
再查看其主機信息,則會有以下顯示:工具
另外一點咱們須要清楚的是,能夠爲某一目錄指定任意數量遠端主機。fetch
咱們可使用git remote
指令查看當前倉庫指定的全部遠端主機的簡要信息:別名列表,
固然還有添加-v
選項,查看詳細信息列表:spa
咱們也能夠查看某一特定遠端主機的詳細信息,使用git remote show <主機別名>
如:版本控制
如上,咱們能夠看到詳細信息,遠端地址,遠程全部分支,
及在各本地分支上使用git pull
或git push
指令操做時對應的遠程分支。
添加遠程主機後,咱們能夠與主機共享代碼或文件。
使用git fetch <主機名> [遠程分支,可選]:[新建本地分支,可選]
指令,即會將該主機地址對應的遠程倉庫中全部數據(包括全部分支)拉取到本地,前面提到的隱式添加遠端主機git clone
方式已包含這一過程:
如上,咱們已經將遠端react倉庫的全部分支,下載到本地的對應分支(此處只有master分支,其下載到本地的react/master分支),咱們能夠將這些本地分支合併到其餘分支或在這些本地分支的基礎上檢出(check out)新分支。
當指定遠程分支名時,以下:
將遠端origin倉庫的master分支下載到本地並新建一個本地分支temp。
除了使用git fetch
指令拉取遠程數據,還可使用git pull <主機名> <遠程分支>
指令拉取遠程特定分支的全部數據:
其與git fetch
的差異有兩點:
gi pull
須要指定特定遠程分支參數git pull
指令會自動拉取數據並將其合併至當前分支,而git fetch
只是拉取全部數據及分支,不影響本地數據,咱們須要手動合併。git fetch
及git pull
對應的另外一個指令則是git push <主機名> <本地分支>
,使用該指令能夠向遠端推送分支數據:
Git也支持咱們重命名以前添加過的遠端主機別名:
git remoet rename <舊主機別名> <新別名>複製代碼
使用git remote remove|rm <主機別名>
指令刪除遠端主機:
本篇關於Git遠端主機(remote)的相關介紹就結束了,其中涉及到部分Git分支相關操做,在下篇將詳細進行介紹。