有没有办法从git存储库中进行svn-checkout?
问题是,我希望有一个git存储库存储在服务器上,我可以在使用git的情况下正常工作,推送和拉出更改。
但是,有些开发人员不需要对代码进行更改,但他们需要能够获取源代码的最新快照并在他们的机器上构建它。那些所谓的“开发人员”真的很想使用SVN,因为它是他们已经熟悉的一种SCM。
那么,有没有办法设置这样的场景呢?或者这是唯一可能的方法--使用SVN存储库并使用git-svn,如果我希望为我自己使用git,而为我的其他同事使用SVN?
谢谢!
发布于 2011-01-14 16:44:26
感谢你的回答,svick和Damien!它们都很好,但由于我不能同时接受它们,所以我将在我自己的答案中总结一下整个问题。
因此,基本上,可以有一个只读svn访问它的git存储库。就像达米恩说的
使官方存储库成为git存储库,并使用git-svn自动推送到从svn存储库,无论是使用cron还是在提交后钩子中。
对任何存储库中的代码进行只读访问的另一种方法是将源代码的最新快照存储在服务器上的某个位置,并可供下载。
如果某些用户需要在代码中进行更改,那么保存它们的唯一合适的方法就是将它们提交回repo中,而不管使用的是什么SCM。在这种情况下,如果进行了更改的用户不知道如何提交,那么应该有一个程序员(负责源代码),他会很高兴地检查更改并将其提交回repo。
发布于 2011-01-12 03:25:55
如果您想使用SVN签出一个存储库,那么您必须拥有一个SVN存储库,这并不奇怪。没有这一点,就很难跟踪那些不能很好地在SVN和git之间转换的东西(例如修订号,分支)。
但是您请求的并不是真正的存储库,您只需要同步一个文件夹即可。为此,除了SVN之外的其他工具可能更适合,例如rsync。另一种可能是拥有一个包含源代码的始终最新的归档(例如,Github提供了这一点)。
发布于 2011-01-12 03:38:02
你可以通过git-svn使用SVN repo,但是如果其他人喜欢git,你将失去与git合作的好处。这就是我在工作中使用的,SVN是事实上的标准,我只是更喜欢git的命令和更好的日志显示。无论如何,我们主要使用SVN作为归档工具:没有分支,我们在现实生活中进行同步,以便在单个文档上进行协作。
另一种解决方案是将官方存储库设置为git存储库,并使用git-svn自动推送到从svn repo,无论是使用cron还是在提交后钩子中。如果如您所说,svn用户永远不需要提交,那么这似乎是最好的选择。
https://stackoverflow.com/questions/4661618
复制相似问题