如何使用 git 检查本地文件夹是否包含更改



有没有一种包罗万象的方法可以使用 git 来检测当前文件夹中的任何文件与某些指定的 git "base" 修订版相比是否发生了变化?它应该检测到:- 任何尚未暂存的修改文件- 任何尚未提交的暂存文件- 提交的时间晚于相关修订版的任何文件。

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

谢谢/马丁

git describe --dirty可以满足您的要求。它将根据前一个标记生成当前工作树的描述,如果文件已被修改且未提交,则可能在顶部或-dirty上添加额外提交的后缀。

如果结果是项目的有效版本标记,则应该能够使用该生成。

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

最新更新