将 Visual Studio 项目编译为预提交 git 挂钩

Compiling Visual Studio project as a pre-commit git hook

有没有办法创建一个 git 预提交挂钩,它将尝试编译我在多个配置中提交的 Visual Studio 项目,然后仅当所有编译都允许提交成功了吗?

我大致了解了如何编写预提交挂钩,但仅此而已 bash,所以我不确定我是否可以做到 运行猜测是MSBuild.exe和我项目的配置有关

结果比我预期的要简单得多。我想 运行 在 x64 平台上调试和发布配置。

#!/bin/bash

MSBuild="path\to\MSBuild.exe"

if ! exec "$MSBuild" VulkanRT.sln -t:build -p:Configuration=Debug -p:Platform=x64 | grep -q "Build succeeded."
then
    echo "Debug build failed!"
    exit 1
elif ! exec "$MSBuild" VulkanRT.sln -t:build -p:Configuration=Debug -p:Platform=x64 | grep -q "Build succeeded."
then
    echo "Release build failed!"
    exit 1
fi

echo "Release and debug build succeeded!"
exit 0

请注意,这仅适用于构建时间较短的小型项目,除非您愿意等待较长的构建时间。