我们有一个新的git仓库,它是从一个svn仓库转换而来。现在这个git仓库是主要的仓库,后续的开发都将在这里进行。该仓库是托管在服务器上的。
另一方面,svn仓库将作为发布管道保留给非git用户使用。
问题是,如何定期从git仓库更新svn仓库?我阅读了很多关于git-svn的文章,其中提到不应该使用合并等操作(请参见Is git-svn dcommit after merging in git dangerous?)。
但是,在git仓库中会发生合并,我们不想通过奇怪的规则(比如“只允许使用变基”)限制git仓库的开发。
所以问题很简单:是否有最佳实践可以保持svn仓库与git仓库同步(比如每两周同步一次)?甚至可能安全地从svn重新传输更改到git(以防需要对svn仓库进行紧急修复,因此这种情况很少发生)。
由于新的git仓库是托管在服务器上的,必须有一个svn-git仓库作为中介者。该仓库可以用来将git合并重定向到git变基等操作。如果所有中间git提交作为一个大块提交到svn仍然是合理的。
git cherry-pick
,但我发现 GUI 更方便。如果你正在使用 TortoiseGit,甚至可以一次选择多个提交来挑选。 - eckes