gpt4 book ai didi

仅在新分支上的 Git post-checkout Hook

转载 作者:太空狗 更新时间:2023-10-29 14:23:28 24 4
gpt4 key购买 nike

我正在尝试创建一个 git Hook ,它仅在 check out 新分支时才在 check out 后运行(即使用了 -b 标志)。我正在使用 post-checkout Hook 并尝试了各种技术来使其正常工作,例如检查 oldrev。

post-checkout 是我想要的钩子(Hook)吗?如果是这样,我应该在脚本中使用什么逻辑,以便 Hook 仅在 checkout 新分支时生效?

谢谢!

最佳答案

问题是找不到 Hook (可以使用 post-checkout Hook )。
就是检测刚刚创建了一个新的本地分支。

但是"new"与哪个分支相比? Detecting a "branch point"考虑到您不知道要考虑哪个起始分支,这很棘手。

您也可以check the reflog以验证该分支已被 checkout 一次。

或者,您还可以维护本地分支的缓存:ls .git\refs\heads 的输出,保存在某个地方作为一个文件,称为“缓存”。
每次启动 post-checkout Hook 时,它都会执行 ls .git\refs\heads并将其与其缓存进行比较。如果看到一个新条目(并且在 .git\refs\remotes\origin 中没有类似的分支),很可能是:这是第一次创建的新本地分支。
然后 Hook 将更新缓存文件。

关于仅在新分支上的 Git post-checkout Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26047579/

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