1
在存儲庫A上運行git rev-parse --short HEAD
時,我得到一個長度爲7的散列輸出,因爲這是git documentation中的--short
選項的默認長度。爲什麼git rev-parse --short使用非默認長度?
當在存儲庫B中運行相同的命令時,我得到一個長度爲9的散列輸出。什麼可能會覆蓋基於每個存儲庫的--short
選項的默認長度?
在存儲庫A上運行git rev-parse --short HEAD
時,我得到一個長度爲7的散列輸出,因爲這是git documentation中的--short
選項的默認長度。爲什麼git rev-parse --short使用非默認長度?
當在存儲庫B中運行相同的命令時,我得到一個長度爲9的散列輸出。什麼可能會覆蓋基於每個存儲庫的--short
選項的默認長度?
看起來文檔已過時。這可能發生的兩件事情造成的:
git rev-parse --short
重複散列會嘗試返回一個唯一的哈希字符串。這似乎不太可能,但理論上可行。OR
git rev-parse --short
實際上會因數得到的數不大於7小,但可能是更高回購商品中的包裝物品。https://git-scm.com/docs/git-config#git-config-coreabbrev
設定長度對象名稱縮寫。如果未指定或設置爲「auto」,則根據存儲庫中的打包對象的近似數量計算適當的值,這對於縮短的對象名稱在一段時間內保持唯一性來說足夠了。
所以官方的文檔已經過時和--short
選項並不強制長度7,即使我還沒有覆蓋的長度(這我沒有聽說過。)