Git之不明覺厲4-在分支上工作

在分支上工作

在上一篇文章《Git之不明覺厲3》中小伙伴克隆了一個倉庫,前面我們的操作都是在master分支上的,一般來說,我們開展一個新的工作,都需要建立一個新的branch,git的branch非常的高效率,所以可以反復(fù)的創(chuàng)建和切換。但是說了這么多,到底啥才是branch啊?

分支是啥

A branch represents an independent line of development. Branches serve as an abstraction for the edit/stage/commit process

從字面上理解分支也是可以的,上面的英文翻譯一下,分支就是一條單獨(dú)的開發(fā)線路。

Paste_Image.png

上圖的Little Feature,Master,Big Feature都是分支。圖上的箭頭指向了分支的最后一個commit

使用分支

  1. 創(chuàng)建分支
git branch tiger

創(chuàng)建了一個名字叫tiger的分支

  1. 查看分支
git branch
  1. 切換分支
git checkout tiger
  1. 增加文件
    我們在新分支上提交一個文件。
echo "I like tiger" > tiger.txt
git add tiger.txt
git commit -m "create tiger file"
  1. 文件在master分支中存在嗎?
    我們可以看到文件在master中并不存在,我們每創(chuàng)建一個新的branch,都有一個新的working directory, staging area, and project history
Paste_Image.png

如果我們查看log,也會發(fā)現(xiàn)master中沒有tiger中的commit

合并

我們現(xiàn)在切換回master分支之后,看不到tiger分支里面的修改了,我們可以使用合并操作,來合并兩個分支

git merge tiger

現(xiàn)在我們可以看到文件tiger.txt了


Paste_Image.png

merge有兩種形式,我們看一下

  • fast-forward merge
Paste_Image.png

我們從上圖可以看到master到some feature有一條線路可以走,只有移動master的HEAD就可以了

  • 3-way merge

Paste_Image.png

從圖上可以看到,master向前沒有一條線路可以走到some feature,所以創(chuàng)建一個新的commit,把master的HEAD移動過去。上圖的紅圈表示三個commit合成了最后merge的commit
詳細(xì)資料可以查看git-merge

刪除

我們切換到master了,如果覺得tiger分支沒有用,那么可以刪除它

git branch -d tiger
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容