【问题标题】:Git - branch or tag?Git - 分支或标签?
【发布时间】:2015-12-23 19:30:16
【问题描述】:

我有一个使用 python 2.7 开发的 API。我有一些开发人员已经在使用它。我想将此 API 迁移到 python 3.4。 我将不再支持 python 2.7 API。

我的代码存储在位桶中。什么是最好的策略? 只需做一个简单的分支,例如“python3.4”?

在主分支(python 2.7)上打一个标签并开始一个新分支(python 3.4)?

【问题讨论】:

    标签: git python-2.7 python-3.x bitbucket


    【解决方案1】:

    是的,分支是正确的。您可能希望修复 Python 2 分支中的错误,因此它应该是一个分支,而不是一个标签。标签用于发布。

    我将 Python 2 分支命名为 python2,并将 Python 3 分支命名为 master。这样,哪个分支处于活动状态就更明显了。

    【讨论】:

    • 对于正在使用 python 2.7 的用户,他们如何克隆正确的分支?在这种情况下,就像您建议的那样,“python2”分支。我需要远程跟踪 python2 分支吗?谢谢!
    • @PedroMagalhaes:克隆后只需 git checkout python2
    【解决方案2】:

    也许,就用户而言,除了宣布对 2.7 API 的支持已随着最新版本(已经有一个标签)结束之外,您实际上不需要做任何事情。无需立即采取git 操作。

    (如果您想为用户提供仍然支持 2.7 的更新版本,则需要在转换之前再发布一个“基于 2.7 的最新版本”。)

    不过,表示切换前实际提交的更新标记对您的内部目的很有用。切换到新的 API 是一个重大的变化,或许值得用一个标签来标记,这样您就可以轻松地参考这个历史点。

    您现在不必创建任何支持分支。这样做可能会向用户表明您打算支持 API,而您并不支持。 (“哦,天哪,我看到了一个 python2 分支;这就是我可以期待修复的地方,尽管宣布不会有任何修复!”)如果您更改您的介意。

    该分支可以从切换之前的点开始,或者从支持 2.7 API 的最后一个正式版本开始:如果您不打算支持 API,则无需现在确定确切的分支点完全没有。

    如果你以后基于标签创建分支,git不会自动设置跟踪(也就是说你不能做git branch -t)。但在这种情况下,无论如何您都不需要这样做,因为您不会重新定位 python2 支持分支,只会对其进行挑选修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-26
      • 2018-11-27
      • 2012-10-19
      • 1970-01-01
      • 2012-04-26
      • 2019-04-13
      • 2013-10-02
      相关资源
      最近更新 更多