在git push
期间,我知道可以使用pre-push
钩子取消推送并使用非零退出代码退出脚本。
使用pre-push
钩子,我想拦截当前的推送,有条件的rebase,然后推送重新定位的树(如果不需要rebase,则推送原始树)。那可能吗?
Git不允许你使用pre-push
钩子修改推送的内容。在调用钩子时,两侧的所有引用和它们的预期值都已经解析,并且Git在钩子之后不会重新读取该数据。
当然可以(虽然不建议)在pre-push
钩子中对存储库进行更改,但是您所做的任何更改都不会对推送的数据产生任何影响。