使用git之三分支(學習筆記三)
分支
git branch new //創建新分支
直接合並(merge)
git checkout -b alternate master //直接創建alternate分支並到該分支上去
;在alternate分支上新建一個gti add about.html然後git commit -m "add about" 提交一下。
;checkout到master主分支
git merge alternate //到回主分支上,然後合並alternate分支
壓合合並(squash)
git checkout -b contact master //創建一個新的分支
;git add contact.html和git commit -m "add contact.html"
;git checkout master回到主分支
git merge --squash contact //將分支上所有的提交條目壓縮成一個提交條目提交到另一個分支的末梢
;這時可用git status 和git log 可以看到在暫存區的。
;可以重新用git commit提交一下
揀選合並(cherry-picks)
git checkout contact //到contact分支下
;git commit -m "add witter"
;git chechout master
git log
git checkout master //回到主分主上
git cherry-pick 321d76f //揀選提交條目
git reset --hard HEAD^
git cherry-pick -n 321d76f //如需揀選多個提交用git cherry-pick -n
然後可以用git status查看狀態
git commit -m "cherry-pick commit." //再進行提交
沖突處理
對於簡單的沖突可以進行手工修改
對於復雜的沖突得用可視化工具
git mergetool //git合並工具
merge.tool值 //kdiff3,tkdiff meld xxdiff emerge,vimdiff,gvimdiff ecmerge,opendiff等工具。
git branch -d about //刪除about分支,沒有合並會有提示
git branch -D about //刪除about分支,不管是否合並都會刪除
git branch -m master mymaster //把master主分支重命名為mymaster
git branch -M mymaster master //把mymaster重命名為master 不管matser是否存都會覆蓋