git 分支合併衝突處理(conflict)

2021-07-14 16:13:08 字數 1938 閱讀 7535

基於同個原始分支後,兩個分支同步開發,最後合併:

合併兩個分支
# 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的分支管理如下 假設...