
Git 分支總結(jié)
描述:
Git 保存的不是文件差異或者變化量,而只是一系列文件快照。
在 Git 中提交時(shí),會(huì)保存一個(gè)提交(commit)對象,該對象:
包含一個(gè)指向暫存內(nèi)容快照的指針,
包含本次提交的作者等相關(guān)附屬信息,
包含零個(gè)或多個(gè)指向該提交對象的父對象指針:
首次提交是沒有直接祖先的,普通提交有一個(gè)祖先,由兩個(gè)或多個(gè)分支合并產(chǎn)生的提交則有多個(gè)祖先。
創(chuàng)建分支:使用 git branch 命令
描述:
新建一個(gè)分支就是向一個(gè)文件寫入 41 個(gè)字節(jié)(外加一個(gè)換行符)那么簡單,當(dāng)然也就很快了。
創(chuàng)建例子:
$ git branch testing
此方法創(chuàng)建成功后不會(huì)自動(dòng)切換到這個(gè)分支中去,默認(rèn)分支:master
此方法簡單方便:
創(chuàng)建 testing 分支,然后切換到 testing 分支:
$ git checkout -b dev
相當(dāng)于以下兩條命令:
$ git branch dev
$ git checkout dev
查看當(dāng)前分支:$ git branch
git branch命令會(huì)列出所有分支,當(dāng)前分支前面會(huì)標(biāo)一個(gè)*號。
切換分支:執(zhí)行 git checkout 命令
主要作用:將 testing 分支里作出的修改暫時(shí)取消,這樣你就可以向另一個(gè)方向進(jìn)行開發(fā)。
切換分支例子:
$ git checkout testing
再次提交git
$ vim test.rb
$ git commit -a -m 'made a change'
每次提交后 HEAD 隨著分支一起向前移動(dòng)
再切換回master:
$ git checkout master
合并分支
合并某分支到當(dāng)前分支:git merge舉例:
將testing合并到master上:
先切回master分支:$ git checkout master
合并分支:$ git merge testing
刪除分支
合并后可以選擇刪除testing分支
刪除命令:$ git branch -d testing