我只想编辑/修改较旧的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
Run Code Online (Sandbox Code Playgroud)
但是,git status不会列出任何未跟踪的文件:
$ git status
On branch dev
nothing to commit, working directory clean
Run Code Online (Sandbox Code Playgroud)
请注意,admin/roles是存储库的子模块:
$ git submodule
77c5addc1b210256da9171e3b286ffa5addd2478 admin/roles (heads/dev)
Run Code Online (Sandbox Code Playgroud)
列出被忽略的文件:
$ 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
Run Code Online (Sandbox Code Playgroud)
保存GIT存储没有结果:
$ git stash save --include-untracked
No local changes to save
Run Code Online (Sandbox Code Playgroud)
我正在阅读,集成到Explorer Shell中,可以有这样的结果.目前,Git Extensions,GIT GUI和SmartGIT已集成到上下文shell中.这可能会引起问题?
我的建议是,问题的根源是子模块的使用.我作为子模块保留了一些变化.
任何关于rebase交互的原因都是错误以及如何解决它?
另外,如果没有使用rebase,编辑/修改旧的提交描述就可以了.
解决方案是从主 repo (unsubmodule) 中删除子模块。然后可以做rebase。