让我们假设我有以下本地存储库和一个像这样的提交树:
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
master
是我的这是最新的稳定版本代码, develop
是我的这是“下一个”发布代码, feature
是正在为develop
准备一个新功能。
使用钩子,我希望能够拒绝推送到feature
到我的远程存储库,除非提交f
是develop
HEAD的直接后代。也就是说,提交树看起来是这样的,因为特性已经在d
上git rebase
了。
master --> a
\
\
develop c --> d
\
\
feature f --> g --> h
那么是否有可能:
feature
?f
是其后代的提交?从那里,我将检查父分支的HEAD是什么,并查看f
前任是否与父分支HEAD匹配,以确定该特性是否需要重新基于。