基於同個原始分支後,兩個分支同步開發,最後合併:
合併兩個分支
# branch1/2可以是分支名,也可以通過指定版本的sha1 16進製制的前7個位
git merge branch1 branch2
解決衝突
通過git diff
來比較兩個分支的不同點,手動合併:
# 比較兩個分支(預設比較所有的不同)
git diff d02b6ff 919b8ea
# 比較版本d02b6ff和版本919b8ea的common.h檔案
# 預設diff
git diff d02b6ff 919b8ea -- api/include/common.h
# 配置好vim diff
git d d02b6ff 919b8ea -- api/include/common.h
處理完衝突後,已合併的分支:
git add [file]
git commit -m "***"
現在的分支狀態變為(在m最新的基礎上超前m分支):
m最新分支變為d:
配置:
# git config --global diff.tool vimdiff
# git config --global difftool.prompt false
# git config --global alias.d difftool
檢視配置:
cat ~/.gitconfig
[diff]
tool = vimdiff
[difftool]
prompt = false
[alias]
d = difftool
diff效果:
# 詳細檢視版本日誌
git log
# 簡單羅列版本日誌
git log --pretty=oneline
# 列出所有分支(遠端和本地)
git branch -a
# 新建並切換到分支(轉殖當前分支)
git checkout -b new_branch
# 新建乙個遠端分支
git push origin new_branch
# 檢視本地有所的tag
git tag -l
# 新建乙個附註標籤
git tag -a new_tag -m "your tag message"
# 提交標籤到遠端
git push origin your_tag_name
# 提交所有的tag到遠端
git push origin --tags
# 刪除標籤
git -d your_tag_name
# 檢視標籤資訊
git show your_tag_name
git分支合併,及衝突處理
寫的有點亂,只是做了乙個總結 方法一 git checkout b test 方法二 git branch test git checkout testgit branchgit push origin testgit branch d testgit push origin test顯示結果為 m...
git 分支合併 分支衝突
分支合併的不同使用場景 合併指定分支到當前分支 git merge 當多分枝協作時,往往會產生一些衝突 你的本地有兩個分支master dev,指向同乙個版本,起始時狀態相同,且只有乙個readme.txt檔案。你在master上新增一段hello master,且add git commit 然後...
git處理分支衝突
首先假設我們有乙個分支master,為了開發我們將在master分支的基礎上建立新分支dev git branch dev 然後檢視是否建立分支成功 git branch 將會顯示我們建立的全部分支 然後我們切換到dev分支開始工作 git checkout dev 到目前git的分支管理如下 假設...