此為git命令的第六篇
不知道大家有沒有發現在前面幾篇中git 好像知道master
與o/master
是相關的。當然這些分支的名字是相似的,可能會讓你覺得是依此將遠端分支 master 和本地的 master 分支進行了關聯。這種關聯在以下兩種情況下可以清楚地得到展示:
push 操作時, 我們把工作從master
推到遠端倉庫中的master
分支(同時會更新遠端分支o/master
) 。這個推送的目的地也是由這種關聯確定的!
現在我們再來說乙個概念遠端分支
直接了當地講,master
和o/master
的關聯關係就是由分支的「remote tracking」屬性決定的。master
被設定為跟蹤o/master
—— 這意味著為master
分支指定了推送的目的地以及拉取後合併的目標。
你可能想知道master
分支上這個屬性是怎麼被設定的,你並沒有用任何命令指定過這個屬性呀!好吧, 當你轉殖倉庫的時候, git 就自動幫你把這個屬性設定好了。
當你轉殖時, git 會為遠端倉庫中的每個分支在本地倉庫中建立乙個遠端分支(比如o/master
)。然後再建立乙個跟蹤遠端倉庫中活動分支的本地分支,預設情況下這個本地分支會被命名為master
。
轉殖完成後,你會得到乙個本地分支(如果沒有這個本地分支的話,你的目錄就是「空白」的),但是可以檢視遠端倉庫中所有的分支(如果你好奇心很強的話)。這樣做對於本地倉庫和遠端倉庫來說,都是最佳選擇。
這也解釋了為什麼會在轉殖的時候會看到下面的輸出:
local branch "master" set to track remote branch "o/master"
當然可以啦!你可以讓任意分支跟蹤o/master
, 然後該分支會像master
分支一樣得到隱含的 push 目的地以及 merge 的目標。 這意味著你可以在分支totallynotmaster
上執行git push
,將工作推送到遠端倉庫的master
分支上。
有兩種方法設定這個屬性
方法一:
通過遠端分支檢出乙個新的分支,執行:
git checkout -b totallynotmaster o/master
就可以建立乙個名為totallynotmaster
的分支,它跟蹤遠端分支o/master
。
執行命令:git ckeckout -b foo o/master
git push 同樣適用
執行命令:git checkout -b foo o/master
另一種設定遠端追蹤分支的方法就是使用:git branch -u
命令,執行:
git branch -u o/master foo
這樣foo
就會跟蹤o/master
了。如果當前就在 foo 分支上, 還可以省略 foo:
git branch -u o/master
看看這種方式的實際的效果...
執行命令:git branch -u o/master foo
git命令詳解
git 是乙個很強大的分布式版本控制系統。它不但適用於管理大型開源軟體的源 管理私人的文件和源 也有很多優勢。git常用操作命令 1 遠端倉庫相關命令 檢出倉庫 git clone git 檢視遠端倉庫 git remote v 新增遠端倉庫 git remote add name url 刪除遠端...
GIT命令詳解
2 進行預設安裝在開始選單中找到如下 開啟git bash出現如下圖就是安裝成功 3 git是乙個分布式版本控制系統,需要填寫使用者名稱和郵箱作為標識 4 基本命令 mkdir xx 建立乙個空目錄 xx指目錄名 pwd 顯示當前目錄的路徑。git init 把當前的目錄變成可以管理的 git倉庫,...
git 命令詳解
一.基本快照命令 1.git add 新增檔案到快取 情形是 在工作目錄中新建bb.txt,cc.txt git status s bb.txt cc.txt 2.git status檢視工作目錄和快取區的 檔案的狀態 上次提交之後 當前情形 1 git add 命令把bb.txt檔案加入快取中,2...