我正在努力在 git 中创建一个预接收钩子,它按预期工作。
但是,当钩子失败(即脚本中的验证失败)时,"git push"按预期被拒绝,并给出相关的错误消息(错误:无法推送某些引用...),但工作目录中的"git status"没有显示任何内容表明推送失败。
如果开发人员没有注意到他们的推送失败,他们就不会从"git status"的输出中知道有什么问题。
我可以使用什么命令来检查我的所有代码是否已推送?
如果您在master
分支上,则可以使用以下命令检查本地master
分支的状态是否与远程仓库中的master
匹配:
git diff origin/master
如果没有区别,推动一定有效。如果显示一些不同的文件,则推送不起作用,或者由于其他原因(例如新的未提交的本地代码),您的本地状态与源(即远程存储库)不匹配。
如果要将分支与名称进行比较,则更通常使用 git diff origin/MY_BRANCH
MY_BRANCH
。