gpt4 book ai didi

git - 当您的原始存储库在 Git 中时,如何从 svn 进行部署

转载 作者:太空狗 更新时间:2023-10-29 13:01:22 25 4
gpt4 key购买 nike

我的团队使用 Git 进行开发,充分利用了它的许多功能。与 svn 相比,我们使用 git 的效率明显更高。

但是我们当前的客户希望我们从 svn 存储库部署代码,这意味着我们需要以某种方式定期将我们的代码从 git 移动到 svn。

目前我们正在维护一个既是 svn checkout 又是 git repo(包含 .git 等)的目录,然后我们可以做混帐 pull ; svn 提交

当然,这个过程稍微复杂一些,因为我们要使用标签来记录发布点,并且在git创建的文件上运行svn add是有开销的。

执行此操作的最佳方法是什么?

git-svn 会解决这个问题吗?在使用 SVN 存储库时,除了允许一个开发人员在本地使用 git 工具外,我从未见过它被使用过。我不知道它与在多个分支上工作的多个开发人员一起工作时效果如何....

最佳答案

如果一个人被认为是 SVN 所有代码的集成者,并且您知道没有其他人在为 SVN 存储库做出贡献,您可以让他使用 git-svn 来推送更改:

  1. Integrator 使用他的 master 作为 svn 的跟踪分支(例如 git svn clone $REPO)。 他从不在这个分支上工作
  2. 开发人员正常工作(大概在主题分支上,有几个主线集成分支)
  3. 当你想要发布时,集成商将所有开发人员代码 pull 到他的主分支(不是master,而是像integration)
  4. 集成商会尽一切努力确保发布顺利进行
  5. Integrator 将 integration 与其 master merge
  6. 集成商执行 git svn dcommit

如果其他人正在为 SVN 做出贡献,您仍然可以这样做,但集成商必须定期从 SVN 中提取并向开发人员提供这些更改,以避免 merge 冲突。

无论如何,轻松地将代码导入 SVN 是主要问题。您可以在没有本地 checkout 的情况下在 SVN 中进行标记和分支,以便集成商可以进行标记(不确定 git svn 是否会将标记发送到 SVN)

关于git - 当您的原始存储库在 Git 中时,如何从 svn 进行部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/483437/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com