假设我正在使用本地存储库,并且经常在编辑单个文件-brandNewFile.txt
时提交。因此,在开始之前,在原始提交中,我们只有一行文本:"It's a nice day"
。
现在,我们在文件末尾添加一行,仅包含"generic1"
文本,并创建一个新的提交(A)。
用"generic2"
行再次重复一次,导致提交B。
我们最终获得了2个新提交(A和B)。
现在,在推送到每个人都可以访问的远程存储库之前,我决定要清理一点历史记录,只保留我认为与我正在执行的操作相关的有意义的提交。
因此,我将从原始提交开始进行变基,但是在应用(选择)B的同时删除A。重新变基一开始,就在B的应用之后出现以下输出:
Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution)
both modified: brandNewFile.txt
no changes added to commit (use "git add" and/or "git commit -a")
当我只想提交一个将一行文本附加到已存在的提交“之上”的提交时,为什么会报告冲突?
对我来说,这不是尝试进行合并操作,尽管结果肯定表明这是正在发生的事情。
答案 0 :(得分:0)
这是因为您的初始提交只有一行:
It's a nice day
提交B有三行
It's a nice day
generic1
generic2
现在,当rebase将提交B合并到初始提交中时,就会发生冲突。 Rebase需要从初始提交中删除第2行(generic1),但是初始提交只有1行。