我在SVN源中有一个项目,必须将其迁移到Git存储库。我想做的是从现在开始对Git repo进行所有更改,同时仍然从SVN获取最终更改,直到它被解除。
目前,我创建了Git Repo,使用git svn
从原始SVN克隆它并将所有内容都推送到Git中。问题是,如果我做了拉,我从Git获取修改,这不是我想要的。
实际上,我正在尝试将SVN存储库“分叉”为Git并跟踪SVN更改。有可能吗?
提前感谢您的答案。
答案 0 :(得分:1)
是的,您可以这样做,在您的git仓库中,master
分支正在跟踪git-svn
,因此当您运行git svn rebase
时,它会使用SVN中的内容更新master
。
在同一个存储库中,您可以拥有另一个分支,该分支定期合并master
但包含不会发送回SVN的修改。
从svn迁移到git时,我们拥有与描述in this answer相同的工作流程。
答案 1 :(得分:1)
目前,如上所述,git svn rebase
允许您从svn
获取上游更改。
请注意,目前有一个用于添加svn遥控器的GSoC项目。它是目前补丁系列的第五个版本。
但是, git svn rebase
会导致极端问题,例如,如果您推送到公共存储库并git svn rebase
。因此,您无法将svn
以外的更改推送到主git
存储库。
答案 2 :(得分:1)
如果您想让第三方使用您的SVN存储库时使用Git,您可以使用任何透明的Git< - > SVN网关,例如SubGit。你将继续让Git忘记SVN,而SVN用户永远不会知道你有一个Git界面。