【问题标题】:Pushing from git into a subversion repository从 git 推送到 subversion 存储库
【发布时间】:2013-04-05 18:33:14
【问题描述】:

我的工作在 git 存储库中,我的一些同事希望将其合并到他们的 subversion 存储库中。我将继续使用 git,但最好有一个 subversion repo 作为远程,我可以偶尔推送一次。

我不打算退出它。如果这是可行的,我们将理解,从我的角度来看,颠覆遥控器是只写的,而从他们的角度来看是只读的。他们已经可以访问 git 存储库,并且无论如何都会在那里工作(是的,这有点荒谬,但我无法改变)。

这是 git-svn 可以处理的吗?

【问题讨论】:

    标签: git git-svn


    【解决方案1】:

    是的。如果您使用git-svn 设置SVN 远程,您可以随后使用dcommit 随意将更改推送到它,无限期。如果你想强制执行只有你可以推送到 SVN repo 的工作流,可以使用 Subversion 的访问控制机制来实现;例如,见How to setup access control in SVN?

    由于默认情况下dcommit 会重新设置您从中更新 SVN 的 Git 分支,因此您应该考虑维护一个本地分支以将更改发布到 SVN。最简单的情况是 SVN 存储库只需要接收来自 master 的提交而不尝试跟踪合并。

    【讨论】:

    • 但请注意您在git 方面可以执行的操作的限制! git 能做的很多事情都无法在 SVN 中表达。
    • 确实如此。如果您的工作流程包含大量合并,解决此问题的一种方法是维护一个单独的本地分支,该分支仅用于推送到 SVN 存储库中的 trunk。然后,您可以定期将更改合并到该分支中,然后是 dcommit,默认情况下这也会重新设置 Git 分支。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    相关资源
    最近更新 更多