2015-04-02 57 views
1

我的团队正在使用github管理一个充满cms主题的私人回购站。我们有他们都是一样的回购之内,并保持对它们的跟踪与子文件夹,标签和保持我们的支数,并承诺与主题名称跟踪git中子文件夹的版本号

IE
前缀提交信息:"[Super Theme] upgraded Navigation to include hover effect"
分公司super_theme-upgrade-navigation-hover

现在,我们希望将语义版本引入主题的设置页面,所以如果你点击左右,你会得到版本号,但我不确定实现这个的最佳方式我们可以使用git标签和git describe来检查提交但这只适用于每个文件夹是它自己的回购。我们希望将它们放在一起,因为它会使github上的讨论更容易,因为影响一个主题的问题通常会影响另一个主题。它们都是不同的,但密切相关。

我想为我们添加一个脚本来检查主题的json文件中的当前版本并增加它,但我不确定这是否足够自动。我非常希望确保我们不会遇到团队中每个人的版本冲突。由于我们希望它们始终保持最新,因此不确定子模块是否可以在此工作。

我想要一种方式来更新子文件夹的版本号,只有当在该文件夹上工作的分支合并到主文件夹中。

难倒。我甚至不确定这是否是一个明确的问题,因此请澄清。

+0

您是否需要每次提交该文件夹的版本,或仅包含在发行版中的版本? – 2015-04-02 17:44:48

+0

只是发布的。一旦功能分支准备好合并到主设备中,我们希望版本被更新。然后,我们将该子文件夹压缩并上传到公共发布站点供用户下载和访问。 – Hiroshi 2015-04-02 18:01:20

回答

0

它实际上可以标记提交以外的对象。因此,你可以标记你这样的子文件夹下的树(-a是可选的):

git tag path/to/subfolder/v-1.2.4 HEAD:path/to/subfolder -a 

要找出版本的子文件夹中的特定提交使用以下命令:

git for-each-ref refs/tags/path/to/subfolder/ --format='%(object) %(refname:short)' | grep $(git rev-parse <commit>:path/to/subfolder) | cut -c 41- 

然而,不像git描述,除非有完全匹配,否则这不会给你最新的版本。