【发布时间】:2013-06-14 05:09:36
【问题描述】:
我们有我们的主分支,我们将我们的功能合并到其中。作为合并的一部分,我需要能够在提交/合并到 master 时自动增加我们的版本。有没有办法我可以做到这一点,以便将升级的版本作为此提交的一部分提交,而无需自动“重新签出、更改、提交”,这将有效地使我们所有的提交加倍?
【问题讨论】:
标签: git github version bitbucket
我们有我们的主分支,我们将我们的功能合并到其中。作为合并的一部分,我需要能够在提交/合并到 master 时自动增加我们的版本。有没有办法我可以做到这一点,以便将升级的版本作为此提交的一部分提交,而无需自动“重新签出、更改、提交”,这将有效地使我们所有的提交加倍?
【问题讨论】:
标签: git github version bitbucket
您可以为此使用git hooks。
pre-commit 挂钩。您可以通过删除.sample 后缀并对其进行编辑,从.git/hooks/pre-commit.sample 中的示例创建一个。 pre-commit 的内容将在提交之前执行。
它可能包含这样的东西
#!/bin/sh
command-that-increases-version version.text
git add version.text
对version.text 的任何修改都将包含在提交中。
最后一些建议:您可能希望完全避免这样做,因为当不同的分支在version.text 中存储不同的值时,它可能会导致很多合并冲突。
【讨论】:
version = open("VERSION.TXT", "r").read()
echo 1 > VERSION.TXT
# cat .git/hooks/post-commit
#/bin/sh
echo "post-commit started"
version=$(cat VERSION.TXT); y=$((version=version+1)); echo $y > VERSION.TXT
git commit .
git push
【讨论】: