Git鼓勵(lì)大量使用分支:
因?yàn)閯?chuàng)建、合并和刪除分支非??欤訥it鼓勵(lì)你使用分支完成某個(gè)任務(wù),合并后再刪掉分支,這和直接在master分支上工作效果是一樣的,但過(guò)程更安全。分支用于團(tuán)隊(duì)合作很重要。你在分支上做一些修改,不會(huì)影響主分支的代碼,別人還可以繼續(xù)開發(fā)。當(dāng)你開發(fā)完成后,則可以將分支合并到主分支上即可。
1、查看分支:git branch
$ git branch
* dev // dev分支,當(dāng)前版本庫(kù)處于這個(gè)分支上,前面*號(hào)就是處于哪個(gè)分支的。
master // 主分支
2、創(chuàng)建分支:git branch <name>
3、切換分支:git checkout <name>
$ git checkout dev
Switched to branch 'dev' // 選擇跳到dev分支
4、創(chuàng)建+切換分支:git checkout -b <name>
$ git checkout -b dev
Switched to a new branch 'dev' // 選擇跳到一個(gè)新的dev分支
他會(huì)先創(chuàng)建一個(gè)dev分支,并跳轉(zhuǎn)過(guò)去。
5、合并某分支到當(dāng)前分支:git merge <name>
$ git merge dev
Updating d17efd8..fec145a // 更新 commit id
Fast-forward // 快進(jìn)模式
readme.txt | 1 + // readme.txt | 1+ 增加了一行
1 file changed, 1 insertion(+) // 1個(gè)文件被改變,插入了一句(+)
6、刪除分支:git branch -d <name>
$ git branch -d dev
Deleted branch dev (was fec145a). // 刪除dev分支(commit id 是fec145a)
7、查看分支合并圖:git log --graph
$ git log --graph --pretty=oneline --abbrev-commit // 查看日志,以圖形化的形式,一行顯示,縮寫,提交
* 59bc1cb conflict fixed // commit id 提交的日志
|\
| * 75a857c AND simple //
* | 400b400 & simple //
|/
* fec145a branch test //
8、 禁用快進(jìn)模式,合并分支:git merge --no-ff -m "merge with no-ff" dev
$ git merge --no-ff -m "merge with no-ff" dev // 合并,禁止快進(jìn)模式(no-fast forward),并提交 “提交日志”
Merge made by the 'recursive' strategy. // 遞歸策略合并
readme.txt | 1 + // readme.txt文件新增了一行 | 1+
1 file changed, 1 insertion(+) // 一個(gè)文件被改變,一行插入(+)