簡體   English   中英

在項目內包含git commit信息

[英]Include git commit information inside a project

我正在研究php項目。 是否可以將git集成到項目中,以將來自上一次提交的信息添加到footer

我沒有使用構建框架

我會使用所謂的git hook來實現這一點。 掛鈎實際上是在特定git動作上自動執行的腳本。 您可能會感興趣的一個叫做git post commit hook ,它是一個腳本,在每次提交后都會自動執行。 以下是添加方法:

  1. 創建一個腳本.git/hooks/post-commit

     #!/bin/sh git log -1 --format=%cd --date=local > version.txt 
  2. 使它可執行:

      chmod +x .git/hooks/post-commit 

而已。 現在,在每次提交之后,您的version.txt都將使用上一次提交的信息進行更新。

這樣做有多種選擇,但我認為最好的選擇是在構建過程中進行選擇。

如果您正在使用諸如Jenkins,Bamboo或任何其他CI / CD系統之類的東西,則可以創建一個任務來檢索git commit,並將其保存在應用程序可讀的位置。 可能是:

  • 將其設置為配置文件的一部分
  • 將其設置為您可以閱讀的環境變量
  • 將其保存在文件中,並為每個請求讀取
  • ...

確實,選項無窮無盡,但這取決於您構建項目的方式以及部署方式。 如您所見,您不缺少選擇!

如果您不使用構建系統,那么也許您應該使用一個構建系統!

不過,您仍然可以選擇執行以下命令來獲取最新的提交:

echo exec('git rev-parse --short HEAD');

這將為您提供簡短的提交哈希。 我確實建議您使用其他選項之一。

實際上,在搜索了內容之后,我沒有使用構建就發現了類似的內容

echo exec('git log -1 --format=%cd --date=local');

這將顯示上次提交的時間和日期

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM