一.創(chuàng)建與合并分支:
1.分支概念:
每次提交胳赌,Git都把它們串成一條時間線,這條時間線就是一個分支。
我們經(jīng)常用的分支稱為主分支:master
HEAD
其實就是指向master
,master
才是指向提交的轻抱,所以,HEAD
指向的就是當前分支旦部。
2.創(chuàng)建分支:
(方式1).git checkout -b huan
創(chuàng)建一個huan的分支并且切換到該分支祈搜。
(方式2.)git branch huan
創(chuàng)建分支。git checkout huan
切換到該分支
3.查看當前分支
用git branch
命令查看當前分支
注:列出所有分支士八,在當前分支前用*標記
4.合并當指定支到主分支
git merge huan
5.刪除指定分支
git branch -d huan
二.解決沖突
1.創(chuàng)建新的分支 并且修改222.txt文件內(nèi)容:
我在mahuan fenzhi提交的
修改后進行git add .
git commit -m"在mahuan分支提交"
2.切換回主分支容燕,然后再修改222.txt文件內(nèi)容:
我是在master分支創(chuàng)建的
修改后進行git add .
git commit -m"我是在master上面提交的"
3.嘗試合并mahuan分支到master分支上
git merge mahuan
(失敗有沖突)
4.查看文件
cat 222.txt
并進行修改文件vi 222.txt
修改后進行git add .
git commit -m"修改沖突之后"
5.可以看到分支合并圖。
1.git log --graph --pretty=oneline --abbrev-commit
2.
git log --graph
三分支管理策略:
通常婚度,合并分支時蘸秘,如果可能,Git會用Fast forward模式蝗茁,但這種模式下醋虏,刪除分支后,會丟掉分支信息哮翘。
如果要強制禁用Fast forward模式(--no-ff
)颈嚼,Git就會在merge時生成一個新的commit,這樣饭寺,從分支歷史上就可以看出分支信息阻课。
.
1.首先創(chuàng)建新的分支:
git checkout -b mahuan
修改新的分支內(nèi)容提交后
2.然后在返回到master分支 禁用Fast forward模式合并mahuan分支git merge --no-ff -m"小李合并分支" mahuan
3.最后查看日志:git log --graph --pretty=oneline --abbrev-commit
注:合并分支時叫挟,加上
--no-ff
參數(shù)就可以用普通模式合并,合并后的歷史有分支柑肴,能看出來曾經(jīng)做過合并霞揉,而fast forward
合并就看不出來曾經(jīng)做過合并旬薯。
在實際開發(fā)中晰骑,我們應(yīng)該按照幾個基本原則進行分支管理:
1.首先,master分支應(yīng)該是非常穩(wěn)定的绊序,也就是僅用來發(fā)布新版本硕舆,平時不能在上面干活;
2.那在哪干活呢骤公?干活都在dev分支上抚官,也就是說,dev分支是不穩(wěn)定的阶捆,到某個時候凌节,比如1.0版本發(fā)布時,再把dev分支合并到master上洒试,在master分支發(fā)布1.0版本倍奢;
3.你和你的小伙伴們每個人都在dev分支上干活,每個人都有自己的分支垒棋,時不時地往dev分支上合并就可以了卒煞。
.
上文接:Git進階學習常用命令--學習筆記