我正在尝试创建合并后挂钩脚本,该脚本仅在从特定分支合并时运行。如何确定特定提交的分支更改的名称?
e.g.
if $from_specific_branch == 1 then
git diff --name-status HEAD@{1} HEAD "some_folder" |
while read st file; do
#skip deleted
if [ "$st" == 'D' ]; then continue; fi
# .. do something with those files
end
首先,值得注意的是,您可能会将任何提交合并到当前提交中 - 事实上,它不必位于任何分支上。
当您创建合并时,我相信第一个父级 (HEAD^1
) 始终是合并时所在的分支。所以,你可以看看HEAD^2
(并且可能HEAD^3
, HEAD^4
在章鱼合并的情况下)并测试它们是否在特定分支上。
测试是否HEAD^2
是在树枝上foo
,你可以测试一下是否git merge-base HEAD^2 foo
是相同的git rev-parse --verify HEAD^2
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)