我有以下问题 - 我正在开发一个基于SVN存储库的Git存储库。我使用git svn clone path-to-repo
命令来克隆SVN存储库,因此我的Git保留了相同的历史记录并具有共同的基础。克隆后,我使用git remote add origin path-to-my-git-repo
添加了一个Git远程存储库。然后,我应用了一些更多提交并将其推送到Git存储库(因此,显然他们没有像{SVN一样克隆的提交那样git-svn-id
)。 SVN存储库不会在每次更改时立即更新(相反,它会在每个给定的时间段内更新),但我必须将其与我的项目保持连接,因此我可以通过更改其他人来修改我的Git存储库仅提交到SVN存储库。
一切看起来都很棒,我克隆了SVN仓库,添加了一个Git远程仓库,我能够进行更改,变更,当我需要时,我可以将更改推送到Git或SVN存储库。
问题是,我需要在多个位置克隆项目。当我克隆Git one(git clone path-to-repo target-directory
)并使用git svn init path-to-svn-repo --trunk="/"
命令添加SVN远程存储库时,我无法使用SVN存储库中的新更改来修改我的项目。它似乎是连接,因为它要求用户名和密码,但给出“无法确定工作树历史记录中的上游SVN信息”错误。顺便说一下,--trunk="./"
在这里不是一个错误 - SVN存储库不遵循具有分支,标签和主干的约定,而是代码直接在基本目录中(或者至少在看到后看起来像这样它使用git svn clone
克隆 - 文件直接在目标目录中)。
克隆SVN存储库以使其工作,并且每次克隆项目时手动添加Git one的提交都不是一个选项。
我在这里做错了什么?我很感激任何帮助或提示。
答案 0 :(得分:1)
我有多傻。事实证明,为了做git svn rebase
,首先需要git svn fetch
。