【发布时间】:2018-10-04 20:23:49
【问题描述】:
我有一个在 git pre-push 挂钩上执行的脚本。里面有修改存储库中项目文件的 PowerShell 脚本。该文件将在本地正确修改,但该更改不会在 git 服务器上结束。
这是一个脚本:
#!C:/Program\ Files/Git/bin/sh.exe
branch=`git rev-parse --abbrev-ref HEAD`
if [ $branch = "development" ];
then
exec powershell.exe -NoProfile -ExecutionPolicy Bypass -File update_version.ps1 -mode dev
pwd
fi
exit
【问题讨论】:
-
我相信您有理由在提交挂钩中强制执行此操作,但将逻辑移到构建脚本中可能会更简单。
-
这应该只在推送时发生。
-
这毫无意义。 pre-push 钩子可以阻止推送,但不能动态更改现有提交。更改提交的正确方法是预提交挂钩。