在合并提交的commit-msg钩子中,如何获取合并操作的直接源分支的分支名称?我可以使用类似以下的方式获取目标分支:
但HEAD和HEAD^都指向目标分支。有没有办法以编程方式确定源?我正在使用钩子的bash脚本。
默认的合并提交消息包含此文本:
合并分支“source-branch”到目标分支
因此,commit-msg钩子可以从消息中直接获取名称,但不能保证用户未编辑它。如果有更可靠的方法,我更喜欢使用它。
编辑:啊,不幸的是,我也没有意识到commit-msg实际上甚至不在合并提交上运行!所以无论如何,我必须找到另一种方法来做我想做的事情。
git rev-parse --abbrev-ref HEAD
但HEAD和HEAD^都指向目标分支。有没有办法以编程方式确定源?我正在使用钩子的bash脚本。
默认的合并提交消息包含此文本:
合并分支“source-branch”到目标分支
因此,commit-msg钩子可以从消息中直接获取名称,但不能保证用户未编辑它。如果有更可靠的方法,我更喜欢使用它。
编辑:啊,不幸的是,我也没有意识到commit-msg实际上甚至不在合并提交上运行!所以无论如何,我必须找到另一种方法来做我想做的事情。
MERGE_HEAD
引用。如果您执行合并操作时可以使用钩子,请测试它是否可用。 - Konstantin