在构建过程中获取Git分支名称

4

我希望能够获取当前的git分支名称,以便在构建二进制文件时使用包含分支名称的文件名。在Netbeans(7.1)中是否可以使用ant来实现?

3个回答

6

如果您不想处理环境变量(如上面的解决方案所建议),且如果您的命令行中可用git命令,则另一种解决方案是使用ANT exec:

<exec executable="git" outputproperty="git.branch"
 failifexecutionfails="false">
 <arg line="rev-parse --abbrev-ref HEAD"/>
</exec>
<echo message="Current branch: ${git.branch}"/> 

解决方案基本上结合了http://llbit.se/?p=1876如何在Git中获取当前分支名称?


当我在Travis CI中尝试时,它只是打印了“当前分支:HEAD”。 - Stevoisiak

2

获取当前分支名称并将其设置为 branch_name 环境变量的一种方法是:

branch_name=$(git symbolic-ref -q HEAD)
branch_name=${branch_name##refs/heads/}
branch_name=${branch_name:-HEAD}

你可以把这段代码放在一个shell脚本中执行,然后将其存储为环境变量,在ant中使用该环境变量。
来源-如何以编程方式确定当前检出的Git分支

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接