我是Git的新手。我用Java开发了一个应用程序。应用程序在执行期间记录文本文件中的每个信息。我已经使用Git提交了应用程序。现在我想在日志文件中打印最新的Git提交哈希值。
例如:内部 mysteps.log 文件:
开始记录......
请指导我如何实现这一目标?在此先感谢.. :))
答案 0 :(得分:0)
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("git rev-parse HEAD");
try (BufferedReader reader = new BufferedReader(
new InputStreamReader(process.getInputStream())
)) {
String revision = reader.readLine();
// log the revision here
}
注意:不要在生产中使用此代码。它依赖于环境,这意味着如果未安装Git或上下文不在git存储库中,它将失败。
为了能够在生产中使用它,您必须将修订版本修补到您的工件中(例如,进入jar
存档)。通常它是由构建系统(例如gradle,maven,ant)作为自动构建的一部分完成的。例如,在maven构建期间,您可以使用git-hash创建新文件并将其打包到jar中,然后在运行时,您可以在需要时读取该文件。