Git 不会让我变基(未跟踪的文件将被覆盖)。我应该怎么办?
Git won't let me rebase (untracked files would be overwritten). What should I do?
我只想 edit/amend 提交较早 Git 的文本。
我运行以下:
$ git rebase -i a41a407d6f53328d49267e6a8429b9492f023629
error: The following untracked working tree files would be overwritten by checkout:
admin/roles/allowassign.php
admin/roles/allowoverride.php
admin/roles/assign.html
admin/roles/assign.php
admin/roles/manage.html
admin/roles/manage.php
admin/roles/managetabs.php
admin/roles/override.html
admin/roles/override.php
Aborting
could not detach HEAD
但是,git status
没有列出任何未跟踪的文件:
$ git status
On branch dev
nothing to commit, working directory clean
请注意,admin/roles 是存储库的子模块:
$ git submodule
77c5addc1b210256da9171e3b286ffa5addd2478 admin/roles (heads/dev)
并列出忽略的文件:
$ git status --ignored
On branch duf-moodle-dev
Ignored files:
(use "git add -f <file>..." to include in what will be committed)
blocks/moodleblock.class.php.bak
filter/tex/mimetex.exe
lib/smarty/COPYING.lib
nothing to commit, working directory clean
保存 GIT 存储没有结果:
$ git stash save --include-untracked
No local changes to save
我在看,集成到资源管理器Shell,可以有这样的结果。 目前 Git 扩展、GIT GUI 和 SmartGIT 已集成到上下文 shell 中。 这可能会导致问题?
我的建议是,问题的根源是子模块的使用。 我保留了一些更改作为子模块。
知道为什么 rebase interactive 会出错以及如何修复它吗?
此外,如果不使用 rebase 就可以解决 edit/amend 较旧的提交描述...
当我返回以下内容时,我自己花了很多时间解决这个问题:
error: The following untracked working tree files would be overwritten by checkout:
index.php
...... (too many lines)
Please move or remove them before you can switch branches.
一般来说,只需 rm 文件然后结帐。您也可以添加和存储它们。 也许首先考虑像这样强制结帐:
git checkout --force master
我可以建议也看看The following untracked working tree files would be overwritten by checkout,这对我帮助很大!
解决方案是从主仓库中删除子模块(unsubmodule)。 然后就可以做变基了。
我有一个类似的问题,但在我的情况下,这是由于在使用 Windows 时更改文件名中的字母大小写引起的(这似乎让 git 对此感到困惑)。
我通过使用虚拟化 linux(可能是 docker 容器)解决了问题,检查了该分支并从那里执行 rebase
。
对我来说,即使是未跟踪的文件,rebase 也能正常工作,直到我前一天做了一些不寻常的步骤(在不同的分支上重置 head 等),然后突然在不同的分支(到 master 上)上的 rebase 停止工作。
这有帮助:
git fetch --all
git reset --hard origin/master
来源:https://ageekandhisblog.com/git-force-overwrite-of-untracked-working-tree-files/