2014-04-29 42 views
4

我开始开发一个我希望在未来的项目中开源并使用的软件包。我不明白正确的步骤,虽然开始。如何开始版本化作曲家包?

我刚刚创建GitHub上的仓库,这里是我的composer.json

{ 
    "name": "ProgrammingAreHard/Arbiter", 
    "license": "MIT", 
    "type": "library", 
    "description": "Convenience library to manipulate Symfony ACL's", 
    "authors": [ 
     { 
      "name": "David Adams", 
      "email": "[email protected]" 
     } 
    ], 
    "autoload": { 
     "psr-0": { 
      "ProgrammingAreHard\\Arbiter": "src/" 
     } 
    }, 
    "require": { 
     "php": ">=5.3.3" 
    }, 
    "require-dev": { 
     "symfony/security": "2.4.*", 
     "phpunit/phpunit": "~4.0" 
    }, 
    "minimum-stability": "dev", 
    "target-dir": "ProgrammingAreHard/Arbiter", 
    "extra": { 
     "branch-alias": { 
      "dev-master": "1.0.x-dev" 
     } 
    } 
} 

我有一个艰难的时间,我的包裹周围版本头虽然。我还没有做任何git标签。我已经把branch-alias放在了,因为我听说这是一个很好的做法。我不知道1.0.x-dev现在应该在那里。

这个时候我该怎么做?我不喜欢1.0版本。我应该立即在“v0.1.0”之类的东西上创建一个轻量级或带注释的git标签,或者等到我处于完全正常运行的状态?

我应该怎么做,以便它后来不是头痛?

我假设作曲家使用Git标签的版本(?)

+1

没有规则。从现在开始以0.1.0开始,并考虑您想要增加的标准。阅读流行的项目如何进行版本控制并复制适合您的模型。 – tripleee

+0

规则基本上是在版本三重中的第三个数字随着表面上不可见的任何细微变化而增加,例如,修复一个错误。第二个在添加功能时递增,但保持向后兼容。第一个预留给主要的大修,用于中断/改变公共接口。当增加一个数字时,将它后面的数字归零。重点是你总是可以用X.Y.(Z + 1)替代X.Y.Z,通常也可以用X.(Y + 1).W替代X.Y.Z,但不能用(X + 1).V.W替换。 –

回答

3

在有疑问(因为你可以选择你想要的任何政策),您可以参考semantic versioning 2.0

主要版本为零(0.y.z )是为了最初的发展。任何事情随时都可能改变。
公共API不应被视为稳定

只要你的公共API可以改变,留在0.x.y

+0

当我做标签的版本,它应该是轻量级或注释? – David

+0

@David如果你打算发布(推送)该标签,它应该是注释。轻量级纯粹是本地标签,不会推到上游回购。 – VonC

+0

甜美。谢谢。你知道我在哪里可以阅读关于版本名称中的@符号吗?我以前看过但没有理解它。例如:https://getcomposer.org/doc/04-schema.md#package-links – David