我可以得到git init
的日期/時間嗎?如何獲取Git存儲庫初始化日期?
不是第一次提交。
如果可能,我該如何得到它?
我在尋找這個主要用於連續集成的修訂版本號。 我喜歡使用版本密鑰的Git提交哈希,但它是一個iOS應用程序,並且有一些限制,我必須在版本字符串中只使用數字和逗號。
接下來,我嘗試使用Unix時間戳(秒)作爲修訂版本號,但它太大而無法爲我的項目顯示一些有意義的信息。然後,我又有了一個想法,即從創建當前Git存儲庫開始計算秒數。
我現在的想法是,
HEAD_TIMESTAMP=`git show -s --format=%ct HEAD`
INIT_TIMESTAMP=<get init date>
DELTA=`expr $HEAD_TIMESTAMP - $INIT_TIMESTAMP `
DAYS=`expr $DELTA/86400`
SECS=`expr $DELTA % 86400`
REV=$DAYS.$SECS
我認爲這也可以使用日期/第一提交時間。但是如果可能的話,我喜歡使用git init
的日期/時間,因爲它是存儲庫的真正創建時間。
看起來據我所知,Git不會記錄時間戳時'GIT中的init '跑了......如果它曾經跑過;如果回購問題被克隆而不是初始化?然而,你最好的選擇可能是得到'.git/description'文件的時間戳。這是在'git init'中創建的一個文件,並且自那之後您可能沒有更改過。 – Jubobs 2014-09-05 16:05:17
作爲持續集成的修訂版本,您可以連續計數,也可以使用git commit hash或date plus git commit hash。依賴於幾臺機器的時鐘和時間在某些時候會出錯。你也可以計算提交次數,但是如果你建立了多個分支,它也會發生碰撞。 – orkoden 2014-09-05 16:11:19
正如@Jubobs所提到的,這通常不會被'git'記錄。然而,作爲一種不完全可靠的解決方法,'.git'目錄中有一些文件/目錄(如'description','branches','info'和'hooks'),它們可能仍然有原始文件從'git init'運行時的時間戳... – twalberg 2014-09-05 20:06:22