对于开发人员和用户来说,哪种分支技术最简单? 我正在研究一个新的JS项目,并希望将其推送到GitHub。我可以想到一些技术,但不知道哪一种可能是最好的。 有几个JS文件,应该可用于开发(普通+日志)和生产(缩小和连接)和测试文件,这对普通用户来说并不重要。我将使用Gulp创建那些缩小的文件。
目前的想法:
主分支,仅包含缩小文件而非测试用例。
2.1。开发人员分支永远不会合并到master中,这对于分支来说可能是不寻常的。
2.2。普通用户可以下载主zip,并且只有相关的文件。
我认为第二个的缺点是它更复杂,但我认为它更友好。
第二点是否有任何真正的缺点,或者第三点可能更好?
答案 0 :(得分:2)
以下是我将如何做到这一点(并在几个项目中完成):
dist
文件夹的内容。这将保留您的生产就绪,缩小文件。dist
文件夹中创建文件,例如:在创建发布时。此时编译,uglify,minify等,然后将文件添加/提交到dist
文件夹。git tag
标记版本,然后将标记推送到远程仓库来创建版本。这样,您可以处理源文件,只在创建正式版时更新dist
文件夹。您可以通过Grunt / Gulp自动执行所有这些操作,并在您愿意的时候触发发布。
如果你把它与npm或Bower这样的东西结合起来(不知道哪个更适合你的项目而不知道更多),你甚至可以定义如果有人想要消费你的项目那么下载哪些部分。 npm和Bower都允许您为资源定义包含/排除模式。当有人使用npm/bower install your-library
时,他们只会获取dist
文件夹的内容,而不会获取源回购中包含的任何来源,测试和虚拟文件。
要获得更高级的分支/发布模型,请查看Git Flow,它使用develop
分支进行正在进行的工作,并仅为已发布的版本保留master
分支。 / p>