希望有一種方法可以發現正在生成的提交的sha。我在一個commit-msg鉤子裏面。我想將sha添加到提交消息的末尾,以便我的git gui可以爲我創建一個GitHub鏈接。如何檢索在commit-msg鉤子中生成的git commit的sha?
1
A
回答
7
SHA1哈希生成取決於提交消息,因此將哈希附加到提交消息會導致哈希不同。你有雞或雞蛋的問題。
2
SHA1尚未生成(提交尚未發生,因爲掛鉤可以阻止它)並取決於消息的內容。因此,如果你的鉤子計算「它會是什麼」,然後修改該消息,結果將與計算出的SHA1不同。
因此,儘管可以計算「SHA1將會是什麼」,但是您不能將其轉儲到提交消息中。
下面是如何計算一個實際的SHA1犯,雖然,因爲提到它提交:-)或名稱的SHA1:
$ git cat-file -p HEAD > /tmp/t
$ git hash-object -t commit /tmp/t
ea5670c9d18fb1482ea2f3022c96e287afb3e906
$ git rev-parse HEAD
ea5670c9d18fb1482ea2f3022c96e287afb3e906
因此,如果你知道tree
,所有parent
s,author
和committer
字符串並且具有消息文本,您可以計算出SHA1將是什麼。
相關問題
- 1. git post-commit鉤子
- 2. Git的pre-commit鉤子:
- 3. 如何在git pre-commit鉤子中添加文件到索引
- 4. git鉤子(pre-commit,post-commit等)適用於所有分支嗎?
- 5. 如何搜索git commit comments?
- 6. svn pre-commit鉤子檢查java源碼
- 7. pre-commit鉤子不檢查模式
- 8. 是否存在與git prepare commit消息鉤子相同的SVN
- 9. 在鉤子post-commit中執行git命令
- 10. 防止Git的掛鉤',commit`後執行的子模塊
- 11. git鉤子語法檢查
- 12. 在Play 2 Framework中,如何在sbt dist包名中包含git commit sha?
- 13. 瞭解git commit - 只有和預先提交的鉤子
- 14. 當我使用git grep時,我如何看到commit sha?
- 15. SVN pre-commit鉤子編碼
- 16. 設置svnperms pre-commit鉤子
- 17. 如何測試git鉤子
- 18. 如何刪除git鉤子
- 19. 如何檢索BASH中的JSON值(git commit中的自動版本)?
- 20. git post-commit掛鉤未執行
- 21. 如何在commit-msg鉤子中提示用戶?
- 22. TortoiseSVN的特殊post-commit鉤子
- 23. 我該如何完成git commit?
- 24. 如何中止'git commit --amend'?
- 25. 如何檢測文本中的Git SHA ID
- 26. pre-commit git鉤子如何運行rspec測試並阻止提交?
- 27. 如何在Appcelerator中生成base64編碼的SHA-512哈希?
- 28. 如何在git推後執行git commit?
- 29. 爲什麼在git鉤子中執行git命令會停止完成鉤子腳本的其餘部分?
- 30. ^在Git commit消息中的M個字符(git commit -v)
你是什麼意思「你的狗屎gui」? – 2012-04-20 08:06:57
如果「你的git gui」引用了一個提交,那麼它已經很平常地具有提交的散列,因爲散列*是對提交的引用,所以我不明白你爲什麼要在提交消息。這就像你想過河取水。 – 2012-04-20 11:25:57
我碰巧使用SourceTree – wprater 2012-04-24 06:43:05