【问题标题】:svn-checkout from a GIT repository来自 GIT 存储库的 svn-checkout
【发布时间】:2011-01-11 19:14:43
【问题描述】:

有没有办法从 git 存储库进行 svn-checkout?

问题是我想在服务器上存储一个 git 存储库,我可以正常使用 git 工作,推送和拉取更改。

但是,有些开发人员不需要对代码进行更改,但他们需要能够获取源代码的最新快照并在他们的机器上构建它。那些所谓的“开发者”真的很想使用 SVN,因为它是他们已经熟悉的 SCM。

那么,有没有办法设置这样的场景?或者这是唯一可能的方法——如果我想为自己使用 git 并为其他同事使用 SVN,则使用 SVN 存储库并使用 git-svn 使用它?

谢谢!

【问题讨论】:

  • 这将非常有用,但是,唉,我不知道这样的事情。正如您所提到的,只有朝着另一个方向发展的方法。我想知道写一个需要什么。

标签: svn git svn-repository


【解决方案1】:

如果您想使用 SVN 签出存储库,那么您必须拥有一个 SVN 存储库,这不足为奇。没有它,就很难跟踪在 SVN 和 git 之间不能很好转换的东西(例如修订号、分支)。

但是你所要求的并不像一个存储库,你只需要同步一个文件夹。为此,SVN 以外的其他工具可能更适合,例如rsync。另一种可能性是拥有一个包含源代码的始终最新的存档(例如 Github 提供了这个)。

【讨论】:

    【解决方案2】:

    通过git-svn 使用 SVN 存储库你会工作,但如果有其他人喜欢 git,你将失去与 git 合作的好处。这就是我在工作中使用的,SVN 是事实上的标准,我只是更喜欢 git 的命令和更好的日志显示。无论如何,我们大多使用 SVN 作为归档工具:没有分支,我们在现实生活中同步以协作处理单个文档。

    另一种解决方案是将官方仓库设为 git 仓库,并使用 git-svn 自动推送到从属 svn 仓库,无论是使用 cron 还是在提交后挂钩中。如果如您所说,这似乎是最好的,svn 用户永远不需要提交。

    【讨论】:

      【解决方案3】:

      感谢您的回答,svickDamien!它们都很好,但是由于我不能同时接受它们,所以我将在自己的答案中对整个事情进行一些总结。


      所以,基本上,一个人可以有一个 git 存储库,它具有 只读 svn 访问权限。正如达米安所说,

      将官方仓库设为 git 仓库,并使用 git-svn 自动推送到从属 svn 仓库,无论是使用 cron 还是在提交后挂钩中。

      获得对任何存储库中代码的只读访问权限的另一种方法是将源代码的最新快照存档在您的服务器上某个位置并可供下载。


      如果某些用户需要对代码进行更改,那么保存它们的唯一合适方法是将它们提交回 repo,无论使用什么 SCM。在这种情况下,如果进行更改的用户不知道如何提交,则应该有一个程序员(负责源代码)会很乐意审查更改并将其提交回 repo。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多