jam*_*asy 10 git version-control
更新挂钩可以拒绝提交的某些部分并允许其他部分.
receive_pack.c中的update()在循环中运行,然后在提交期间可能多次调用update hook.每次调用更新挂钩时,它都会返回失败,似乎允许更新某些引用,如果拒绝则某些引用不会更新.
Git的更新钩子的特性是否允许部分提交成功而某些失败意味着Git的提交不是原子的?
或者我在这里缺少什么?谢谢.
是提交是原子的.不可能拒绝部分提交.
如果同时推送多个分支,则在单次推送(不提交)期间可以多次调用更新挂钩.这允许接受对某些分支的更新,同时拒绝对其他分支的更新,但是每个接受的更新仍将指向推送存储库的完整提交.