[英]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/branch
和master
之間的合並基礎”和master
之間的差異。
這是git
認為的差異:提交給master
而不是my/branch
的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.