git-svn:无法确定工作树历史记录中的上游SVN信息

Tim*_*Tim 6 svn git git-svn

我正在尝试每天将我的svn存储库同步到git.经过多次阅读,我能够通过在.git/config中手动创建以下内容来完成这项工作:

[svn-remote "svn"]
url = svn+ssh://svn.myserver.com/project/trunk
fetch = apps/ios/project:refs/remotes/mirror/project
Run Code Online (Sandbox Code Playgroud)

然后,我根据此代码创建了一个分支,并将其推送到git repo:

git checkout -b mirror/project mirror/project
git svn rebase
git push
Run Code Online (Sandbox Code Playgroud)

我很高兴,直到我认为我确实通过从磁盘删除克隆的repo并再次克隆它,然后尝试从svn推送一些更新来确保这实际上有效.

git clone git@myrepo.com:myproject
git checkout mirror/project
git svn rebase
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误: Unable to determine upstream SVN information from working tree history

我已经在stackoverflow上阅读了关于此消息的无数帖子,但我还没有理解任何解决方案.是否可以用git新手来解释为什么git选择忘记我的svn配置?

Von*_*onC 3

我不明白一个简单的“git clone”如何知道你的 svn 上游存储库信息。

您已将其存储svn-remote在您的.git/config. 当您克隆存储库时,不会克隆本地配置(正如我在“是否可以从远程位置克隆 git config? ”中提到的)。

除非您在存储库中执行git svn clone或再次将该svn-remote信息放入您的存储库中,否则您将无法访问您的初始信息。