gpt4 book ai didi

Git post-merge hook,如何获取 merge 分支的名称

转载 作者:太空狗 更新时间:2023-10-29 14:16:01 32 4
gpt4 key购买 nike

我正在尝试创建仅在从特定分支 merge 时运行的 merge 后 Hook 脚本。如何确定特定提交的分支更改的名称?

例如

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

最佳答案

首先,值得注意的是,您可能会将任何提交 merge 到当前提交中 - 事实上,它不必在任何分支上。

创建 merge 时,我相信第一个父级 (HEAD^1) 始终是 merge 时所在的分支。因此,您可以查看 HEAD^2(在 Octopus merge 的情况下可能还有 HEAD^3HEAD^4)并进行测试他们是否在特定的分支上。

要测试 HEAD^2 是否在分支 foo 上,你可以测试 git merge-base HEAD^2 foo 是否是与 git rev-parse --verify HEAD^2 相同。

关于Git post-merge hook,如何获取 merge 分支的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7262307/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com