Django 从使用GIT-SVN创建的GIT回购中分叉的限制?

Django 从使用GIT-SVN创建的GIT回购中分叉的限制?,django,git,github,git-svn,git-rebase,Django,Git,Github,Git Svn,Git Rebase,许多开源项目(例如)都有GIT镜像,而GIT镜像反过来又被用于私人或公共开发。GIT镜像通过GIT svn rebase保持最新。但《公约》载有这一明确的建议: 啊,但重新定基调的好处并不多 没有它的缺点,可以 总结在一行中: 不要重新设置推送到公共存储库的提交的基础。 如果你遵循这个指导原则,你会 没事。如果你不这样做,人们会的 恨你,你就会被别人嘲笑 朋友和家人 当你把东西重新定基时,你就 放弃现有的提交和 创建新的相似但 不一样。如果您推送提交 某个地方和其他人把它们拉下来 以它们为基础,

许多开源项目(例如)都有GIT镜像,而GIT镜像反过来又被用于私人或公共开发。GIT镜像通过
GIT svn rebase
保持最新。但《公约》载有这一明确的建议:

啊,但重新定基调的好处并不多 没有它的缺点,可以 总结在一行中:

不要重新设置推送到公共存储库的提交的基础。

如果你遵循这个指导原则,你会 没事。如果你不这样做,人们会的 恨你,你就会被别人嘲笑 朋友和家人

当你把东西重新定基时,你就 放弃现有的提交和 创建新的相似但 不一样。如果您推送提交 某个地方和其他人把它们拉下来 以它们为基础,然后你 用git rebase重写这些提交 再把它们往上推,你的 合作者必须重新合并 他们的工作和事情会变得一团糟 当你试图收回他们的工作时 你的

像Django这样的开源镜像是否打破了上述关于不在公开回购中重新定价的大胆规则?若否,原因为何?如果是这样的话,有什么不能使用这些镜像来完成,而这些镜像可以通过“常规的”非重定基址的Git项目来完成?如果这是一个明显的问题,道歉;我是个新手

这个想法是:

  • 无论哪个Git分支是Git svn rebase的直接结果,都不应重新设置其基础:它的历史记录必须保持原始导入状态,以便成功进行dcommit
  • 任何其他Git分支(不直接链接到SVN分支)都可以随意合并/重新设置基础
另见


因此,如果在各种Django回购中受合并/重设基础影响的分支机构不是与dcommit(同步回SVN回购)相关的分支机构,那么应该没问题。

感谢您给出明确的答案,这非常有帮助。对于设立其他(与SVN无关联)分支机构,将其与SVN关联分支机构纳入同一回购协议是否有好处,或者将其单独(分岔)回购协议是否可行?后者是Django所做的,但在我们建立相同的结构之前,我想知道他们是如何做到的,这是否是我们想要避免的负担。@Justin:我认为将那些与SVN无关的分支机构保留给其他回购协议没有任何隐藏的缺点。