我创建了一个http://code.google.com/p/jpcsp/的git克隆。后来我尝试通过获取,合并,重置以及其他一些我不记得的东西或它们的顺序来更新到最新版本。目前git本地存储库与初始克隆最新版本的HEAD一起,我无法重新定义(列出需要更新的内容,然后说'更新索引--refresh:命令返回错误:1')并且不能在svn修订版1005之后检查一下我认为。
主要问题似乎是在修订版1006中,名为“G:[...]”的文件被提交给svn,然后删除了以下修订版。现在所有重要命令都失败了,例如'致命:无法在G创建目录:[...]'是来自'git checkout -f HEAD'的错误消息。 HEAD现在处于1994年的svn初始克隆。所以它试图在名称中使用G:创建一个文件夹,这对Windows来说是不可接受的。命令'git ls-tree HEAD'在其输出中还有以下树行:'[...] tree [sha1]“G:\ [...]”',它似乎是本地文件夹路径那个将1006版本提交给svn存储库的人的计算机 - mabe这会导致1994修订版的git等同于失败。可能导致问题的另一件事是我的计算机看到假想的可移动驱动器,包括G:首先不存在 - 这是因为我在一年前买了它以后可能会或可能不会混淆git
我在msysgit邮件列表中以及http://groups.google.com/group/msysgit/browse_thread/thread/dfdeae9a85f3f534创建了一条消息,其中包含我在命令行中输入的一些命令及其输出的更多详细信息,但我还是因为我认为问题不同而更加困惑
我尝试过但没有工作的一件事是做一个git rebase -i然后像壁球一样,但是git仍抱怨无法用G创建一个文件夹:[...]
今天我已经将svn存储库重新克隆到另一个文件夹中,它也给出了错误。然后第一次检出最新的svn版本返回相同的无法创建文件夹错误。
如果有人知道如何修复这样的问题我可以使用一些帮助。我不接受以使用svn开头的建议,因为远程存储库是svn。
- <>编辑<> - : 使用'git svn fetch -r0:'和'git svn fetch -r:HEAD'的解决方案似乎有效。我现在已经检查了最新的svn提交以及项目的整个历史记录,除了2次提交。我收到的消息是存储库处于独立的HEAD中,所以我将不得不调查这意味着什么。 我对新情况有一些疑问。只要我保留这个本地git存储库,我想我应该从现在开始从svn获取修订版号码?这会影响我稍后再提出的能力吗?
答案 0 :(得分:0)
也许有更好的方法,但你可以尝试:
$ git svn fetch -r<last revision fetched>:<faulty revision -1>
$ git svn fetch -r<fault revision +2>:<latest revision>