簡體   English   中英

Git rebase導致基本上所有文件(甚至是未修改的文件)上的合並沖突

[英]Git rebase causing merge conflicts on essentially all files - even untouched ones

git rebase的典型行為是從基礎到本地的相對“干凈”的合並。

但是有時候情況會變南。 基本上, 每個已在基礎中被觸摸的文件都需要手動合並到本地-不管是否在本地觸摸/更改了文件

為什么會這樣? 有合理的解決方法嗎?

更新

這種情況下由於某種原因

git pull

工作很好 它需要手動合並一個文件 -這是有效的手動合並。

因此,我認為這個問題在某種意義上可以歸結為“與git rebase相對,要求進行git pull的條件是什么。我將尋求適用的問答。

一個可能的原因是eol(行尾)字符,這兩個分支之間可能有所不同。

退出第一個巡回當前的rebase(因為Git 2.12: git rebase --quit

使用選項-X ignore-space-at-eol (合並策略)再次嘗試重新設置-X ignore-space-at-eol ,以查看問題是否仍然存在。


git pull正常工作

那是pull(提取+合並)和rebase(重放提交)之間的區別

 x--x--x--x--X     (master)
        \
         --o--o--O (origin/master)

一拉將合並兩個可能僅在一個文件中不同的HEAD提交XO

 x--x--x--x--X-----M     (master after git pull)
        \         /
         --o--o--O (origin/master)

重新設置基准(或git pull --rebase)將在原始服務器/主服務器上重播主服務器,並且即使X (HEAD)僅與原始服務器/主服務器HEAD O一個文件不同,以前的' x '提交也可能會引起很多沖突。 。

 x--x--x
        \         
         --o--o--O--x'--X' (master)
           (origin/master)

暫無
暫無

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

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