首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用git-svn导入以前的提交

使用git-svn导入以前的提交
EN

Stack Overflow用户
提问于 2011-05-09 22:09:01
回答 3查看 1K关注 0票数 2

到目前为止,我所做的是:

代码语言:javascript
运行
复制
git svn init http://example.com/svn/trunk

(最新版本为1000)

代码语言:javascript
运行
复制
git svn fetch -r1000
git svn rebase

我的repo是最新的,我在日志中记录了自Rev.1000以来的所有提交。

如何导入800版本以来的历史记录?

如何结帐到修订版800?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-09 22:41:28

要查找特定svn修订版的提交散列,可以执行以下操作

git服务器查找-修订版r800

然而,只有在你的git库中提交了subversion之后,这才会对你有所帮助。最好的选择通常是获得一个包含整个subversion历史记录的签出。

git svn克隆http://example.com/svn/trunk

或者,如果您愿意,所有分支以及主干

git服务器克隆-s http://example.com/svn/

如果你想在当前的道路上继续下去(这将是痛苦的),你可以获得第二个git存储库,它包含比当前版本更多的修订,然后使用git移植物将它们移植在一起。例如,如果您确定只需要修订版800,则可以执行另一项操作

git服务器初始化http://example.com/svn/trunk git服务器获取-r 800

然而,如果你想要版本600,400,900等等,你将永远不得不弄乱你的本地git存储库。最好从头开始,获得一个适当的git svn签出,其中包括所有的修订,然后你可以自由地签出任意的修订,而不必跳跃。

票数 1
EN

Stack Overflow用户

发布于 2011-05-10 00:25:36

您可以执行以下操作:

代码语言:javascript
运行
复制
git svn fetch -r1000:HEAD
git svn rebase

你也会得到这些提交。

Git svn clone: How to defer fetch of revision history

票数 1
EN

Stack Overflow用户

发布于 2011-05-09 22:12:07

我不知道如何解决第一个问题,但对于第二个问题,只需找到该修订的提交散列标记并输入git checkout <commit tag>即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5938045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档