簡體   English   中英

git merge master 不將 master 的更改/沖突合並到本地分支

[英]git merge master not merging changes/conflicts from master into local branch

我正在嘗試將 master(本地)的更改合並到我的功能分支,但我無法做到。 這是我嘗試過的

我檢查了我的遠程 github 分支,現在有一個跟蹤更改的本地分支:

$ git branch -a
* master
  remotes/origin/ABC-1849-add-new-changes
  remotes/origin/master
  ... 
  other remotes
  ...

$ git checkout ABC-1849-add-new-changes
Branch ABC-1849-add-new-changes set up to track remote branch ABC-1849-add-new-changes from origin.
Switched to a new branch 'ABC-1849-add-new-changes'

在這一點上,如果我做一個

$ git diff master

我看到至少有 7 個文件存在沖突。 我需要將這些更改從 master 合並到我的分支。 所以我這樣做:

$ git merge master

我所看到的是:

Auto-merging random_modules.mk
Merge made by the 'recursive' strategy.
random_modules.mk | 1 +
1 file changed, 1 insertion(+)

沒有出現沖突的文件。 我沒有看到任何消息說存在合並沖突。 如果我和 master 做一個 diff,所有的沖突仍然會出現

一個簡單的git diff master本身並不能告訴你是否會有合並沖突。 它需要兩個單獨的git diff命令,必須仔細掃描其輸出,以確定是否會發生沖突。

(為什么你相信,基於單個git diff master ,有 7 個文件存在沖突?如果我們弄清楚了,我們可能會在這里解釋你哪里出錯了。)

如果差異來自您分支上的提交,則 git 保留這些更改是正常的,並且僅更新來自 master 的更改。

您可能想要查看的差異是:

# if you haven't merged master into my/branch yet :
git diff my/branch...master   # three dots

# if you have already merged master into my/branch :
git diff my/branch^...master

這將顯示“ my/branchmaster之間的合並基礎”和master之間的差異。
這是git認為的差異:提交給master而不是my/branch的更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM