- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
git rebase
的典型行为是从基础到本地的相对“干净”的 merge 。
然而,偶尔情况会变糟。基本上每个在基础中被触及的文件都需要手动 merge 到本地——不管文件是否在本地被触及/改变
为什么会这样?有合理的解决方法吗?
更新
出于某种原因在这种场景中
git pull
工作很好。它需要手动 merge 一个文件 - 这是有效手动 merge 。
所以我想这个问题在某种意义上已经演变为“git pull
相对于 git rebase
的条件是什么。我会寻找适用的问答。
最佳答案
一个可能的原因是 eol(行尾)字符,这在两个分支之间可能不同。
退出当前的第一个巡回 rebase (自Git 2.12: git rebase --quit
)
使用选项( merge 策略)-X ignore-space-at-eol
再次尝试 rebase,看看问题是否仍然存在。
git pull works just fine
这就是pull(fetch + merge)和rebase(replay commits)的区别
x--x--x--x--X (master)
\
--o--o--O (origin/master)
一次 pull 将 merge 两个 HEAD 提交 X
和 O
,它们可能仅在一个文件中不同。
x--x--x--x--X-----M (master after git pull)
\ /
--o--o--O (origin/master)
rebase(或 git pull --rebase)会在 origin/master 之上重放 master,之前的 'x
' 提交可能会引入很多冲突,即使 X
(HEAD) 仅与来自 origin/master HEAD O
的一个文件不同。
x--x--x
\
--o--o--O--x'--X' (master)
(origin/master)
关于Git rebase 导致基本上所有文件发生 merge 冲突 - 甚至是未触及的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45341547/
我正在尝试创建一个 React 组件来抽象化为我的表单创建一个输入组。所有输入都具有相同的布局 - 一个标签,下面是输入,如果存在错误/信息文本,它们将显示在输入下。 以前我处理自己的表单状态/处理程
我正在尝试将子 shell 的输出行读取到数组中,但我不愿意设置 IFS,因为它是全局的。我不希望脚本的一部分影响后面的部分,因为那是不好的做法,我拒绝这样做。在命令后恢复 IFS 不是一个选项,因为
我是一名优秀的程序员,十分优秀!