当前位置:  开发笔记 > 编程语言 > 正文

git-svn - #object#在/ opt/local/libexec/git-core/git-svn第4706行的存储库中不存在

如何解决《git-svn-#object#在/opt/local/libexec/git-core/git-svn第4706行的存储库中不存在》经验,为你挑选了2个好方法。

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.



1> VonC..:

你在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



2> caleb..:

我有同样的问题(我做了一个git克隆,我正在使用git svn).这是我用来删除子模块的命令:

git filter-branch --index-filter \
'git rm --cached --ignore-unmatch path/to/the/formerly/misbehaving/module'

我在这个博客上发现了这个很棒的解决方

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有