我正在编写一个自定义合并驱动程序,需要知道它正在合并的分支的名称.我设法检索要合并到(目标)git symbolic-ref HEAD的分支的名称,以及从GITHEAD_<SHA>环境变量合并(源)的分支的名称.
# retrieve merged branch name from an env var GITHEAD_<sha>=<branchName>
# we cannot use a sym ref of MERGE_HEAD, as it doesn't yet exist
gitHead=$(env | grep GITHEAD) # e.g. GITHEAD_<sha>=release/1.43
# cut out everything up to the last "=" sign
source="${gitHead##*=}"
# retrieve base branch name from a sym ref of HEAD
branch=$(git symbolic-ref HEAD) # e.g. refs/heads/master
# cut out "refs/heads"
destination="${branch#refs/heads/}"
echo "Merging from $source into $destination"
Run Code Online (Sandbox Code Playgroud)
这是正确的做法吗?特别是,从环境变量中检索源名称似乎很脆弱.请注意,此时MERGE_HEAD不存在,因此我不能使用与HEAD相同的方法.
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |