1. 程式人生 > 實用技巧 >git分支

git分支

檢視分支指向的物件

  • HEAD 一個指向當前所在的本地分支的指標

# 檢視各個分支當前所指向的物件
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ git log --oneline --decorate
e1c6c23 (HEAD -> master, tag: v1.1-lw, tag: v1.0) 第五次提交2
fa4a84d delete
bec3943 第四次提交
b158fc1 (tag: v1.0-lw, v1.0-lw) 第三次提交
fc6bfce 第二次提交
4845ecc first
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ 
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ git log --oneline
e1c6c23 (HEAD -> master, tag: v1.1-lw, tag: v1.0) 第五次提交2
fa4a84d delete
bec3943 第四次提交
b158fc1 (tag: v1.0-lw, v1.0-lw) 第三次提交
fc6bfce 第二次提交
4845ecc first
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ git branch testing
# testing 和 master分支當前指向的是同一個物件,當前的本地分支還是master HEAD指向master分支
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ git log --oneline
e1c6c23 (HEAD -> master, tag: v1.1-lw, tag: v1.0, testing) 第五次提交2
fa4a84d delete
bec3943 第四次提交
b158fc1 (tag: v1.0-lw, v1.0-lw) 第三次提交
fc6bfce 第二次提交
4845ecc first

分支合併

簡單分支合併

  • master併入直接上游,git會直接把分支指標向前移動

  • fast-forward 快進

三方合併

  • 被併入的提交快照和要合併的提交快照的直接祖先不是同一個

  • 三方指的是(被併入的提交快照、要合併的提交快照、共同祖先)

合併衝突處理

  • 衝突提示

zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$ git merge merge_error_test_v1.2
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
zhanghongtiandeMacBook-Pro:gitLearning zhanghongtian$

  

  • 使用圖形化介面處理

git mergetool

分支管理

  • 檢視分支

git branch
  • 檢視分支最新提交

git branch -v
  • 檢視合併到當前分支的分支

# 檢視已合併的分支
git branch --merged
# 檢視未合併的分支
git branch --no-merged