1

与某些指定的 git "base" 版本相比,是否有一种万能的方法来使用 git 检测当前文件夹中的任何文件是否已更改?它应该检测: - 任何尚未暂存的已修改文件 - 任何尚未提交的暂存文件 - 任何比相关修订更近提交的文件。

基本上我们试图实现的目标是,对于一个特定的项目,我们的开发机器上的代码是否与我们的构建服务器构建的代码相同。在这种情况下,我们可以通过跳过构建并从我们的 maven 存储库下载构建工件来节省时间(假设构建服务器将它安装在那里)。它仍然主要是一个想法,可能有一千个原因导致它无法成功,但首先要弄清楚的事情之一是 git 是否可以提供有关哪些项目基本未更改的信息。

谢谢,/马丁

4

1 回答 1

0

git describe --dirty可以满足您的要求。它将根据前一个标签生成当前工作树的描述,并可能在顶部附加额外提交的后缀,或者-dirty文件是否已修改但未提交。

如果结果是您的项目的有效版本标签,那么您应该能够使用该构建。

如果您需要更好的控制,请参阅https://stackoverflow.com/a/2659808/733345了解如何检查未跟踪的文件。

于 2013-10-05T11:33:22.930 回答