我目前正在使用 合并两个分支git rebase -i
,有一个提交不允许我继续变基。当我检查提交时,我看到有一些文件,但没有与分支冲突。
我尝试使用fixup
andedit
因为我想也许我做了一些改变,但事实并非如此。当我运行时git rebase --continue
,我收到以下消息:
error: The following untracked working tree files would be overwritten by merge:
Run Code Online (Sandbox Code Playgroud)
它还显示如上图所示的文件,并显示以下消息
Please move or remove them before you merge.
Aborting
hint: Could not execute the todo command
hint:
hint: pick 430847f3fe3f80162a93f62db3e016f3c9a97cc1 Include html2text package
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint: git rebase --edit-todo
hint: git rebase --continue
Run Code Online (Sandbox Code Playgroud)
这种情况我能做什么?这是否意味着我可以重新调整此提交的基础?我必须堕胎吗?
Run Code Online (Sandbox Code Playgroud)error: The following untracked working tree files would be overwritten by merge:
这正是它所说的意思:某些文件存在于您的工作树中,但不存在于您的索引中,因此它们未被跟踪。继续执行git cherry-pick
序列中的下一个git rebase
将会覆盖它们。(这里主要棘手的部分是git rebase
主要由一系列git cherry-pick
命令组成,并且git cherry-pick
使用 Git 的合并机制,因此即使您正在执行 a,git rebase
您也会合并一些文件。)
...但我没有在它所说的文件夹中看到这些文件。
vendor/soundasleep
当我检查atom时没有文件夹...
这才是真正令人费解的部分。Git 肯定会将这些文件视为存在于您的工作树中。请注意,如果您使用的是典型的 Windows 或 MacOS 系统,底层文件系统会进行大小写折叠,因此如果存在一个vendor/SoundAsleep
或多个VENDOR/soundasleep
文件夹或类似的任何内容,这也很重要。
(我不使用原子编辑器,我自己会在它之外进行任何检查。)