每次运行时,我都需要对项目执行一些操作(准备gettext * .mo消息文件)git pull。有没有合适的git hook,我可以将其用于此目的?
git pull
查看更多
该githooks手册页是挂钩的完整列表。如果不在此处,则不存在。
githooks
这就是说,有是一个后合并挂钩,所有的拉包括合并,虽然不是所有的合并是拉。它在合并后运行,并且不会影响结果。如果有冲突,它将永远不会执行;如果确实很重要,则必须使用commit-post钩子来接管,或者手动调用它。
@Jefromi“所有拉动都包含合并”,即使我执行拉动--rebase吗?
还发现
git pull
如果没有要引入的更改(您已经是最新的),运行时合并将永远不会执行。@jbergantine:我想我的回答不准确-所有非禁忌的动作都包含合并。但是...总的来说,如果您尝试在合并发生时采取措施,那么我认为您不想在某人进行无操作合并时采取行动。例如,如果没有任何变化,OP重新创建这些文件将是一种浪费。
如果您真的想在每次拉动时都做某事...您可以给'git pull'加上别名,这样您就可以调用执行git pull的脚本,然后再执行其他操作
git pull
使用rebase(使用--rebase
config或使用configpull.rebase=true
)不包含合并并且不会触发合并后钩子。对于这种情况,您可以指定--no-rebase
确保挂钩被触发,或使用重写后挂钩。