上
git svn dcommit
它开始提交然后我得到了这个
A spec/controllers/authenticated_system_spec.rb A spec/controllers/sessions_controller_spec.rb A spec/controllers/users_controller_spec.rb A spec/fixtures/users.yml A spec/helpers/users_helper_spec.rb A spec/models/user_spec.rb A vendor/plugins/haml/init.rb A vendor/plugins/restful_authentication 7235d9150e8beb80a819923a4c871ef4069c6759 doesn't exist in the repository at /opt/local/libexec/git-core/git-svn line 4706 Failed to read object 7235d9150e8beb80a819923a4c871ef4069c6759 at /opt/local/libexec/git-core/git-svn line 570
任何想法如何解决这个问题?
尝试检查git fsck --full
但git repo和所有git命令似乎工作正常,不能dcommit.
你在Git仓库中创建了子模块吗?
这篇博文似乎提到了这个问题.
截至2009年1月,
git-svn
不适用于子模块.
没有很好的方法将子模块映射到svn和实现git-svn的perl脚本只做炸弹git svn dcommit
.你需要回去重写历史.
你应该可以使用git commit --amend
.
$ git tag bad mywork~5 $ git checkout bad $ # make changes here and update the index $ git commit --amend $ git rebase --onto HEAD bad mywork
我有同样的问题(我做了一个git克隆,我正在使用git svn).这是我用来删除子模块的命令:
git filter-branch --index-filter \ 'git rm --cached --ignore-unmatch path/to/the/formerly/misbehaving/module'
我在这个博客上发现了这个很棒的解决方