gpt4 book ai didi

git svn 并与私有(private)分支机构合作?

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

这里是新的 git 用户。我想使用 git,但我在 SVN 环境中。从我读过的一些书和一些简单的实验中,我遇到了一些令人不安的陷阱,我希望得到关于如何开始的澄清,而不是我的同事想要杀了我。

我希望我的工作流程是:

  • 与 svn 主干同步的主 git 分支。

  • 我在其中处理功能和错误的本地 git 分支。

  • 我想经常将功能分支与 master 一起更新。

  • 当我准备好后,我想将一个功能分支与 master merge 并将其提交回 svn。

这是典型的工作流程吗?

最初我使用 git merge 来 merge 我的 master 分支和 feature 分支。这导致了各种冲突和问题。后来我读到避免使用 git merge alltogether 并坚持使用 git rebase。那么,以下 git 命令是否正确?

  • git svn rebase( pull 最新的更改到 master)
  • git checkout -b myAwesomeFeature(创建一个功能分支)
  • ...做一些工作,提交到我的功能分支
  • <<< 时间流逝 >>>
  • git checkout 大师
  • git svn rebase( pull 下新东西)
  • git checkout myAwesomeFeature
  • git rebase master(将 svn trunk 的东西放到我的功能分支中)
  • <<< 准备推送我的功能分支 >>>
  • git checkout 大师
  • git rebase myAwesomeFeature(快进 masters head 以获取我的功能)
  • git svn dcommit(最终发布)

任何帮助有抱负的 git 用户在 svn 世界中生活的意见或建议都将不胜感激。谢谢

最佳答案

您的工作流程与我的大致相同。如果您只提交到 svn 主干就足够了。当你提交到多个 svn 分支时,它变得复杂,其中 rebase 不仅 merge 内容,而且还更改指向的 svn 分支,在这种情况下,你只能在需要提交时 git cherry-pick进入一个针对 git 分支的 svn 分支,如下所述:Overcome git svn caveats

同样值得理解的是,SVN 无法处理非线性历史,git merge 不能与其一起使用:git svn workflow - feature branches and merge

关于git svn 并与私有(private)分支机构合作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631661/

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