[英]Get first 'x' characters of git log
我正在嘗試僅獲取git日志的前40個字符,我當前無法正常工作的命令是:
git log <branch_name> | cut -c 1-40 >> some_file
這將輸出整個日志。
Kinda是Linux新手,有什么建議嗎?
編輯:
git log <branch_name> | head -n1 >> some_file
每個@Someprogrammerdude建議的工作命令
| head
| head
方法很好head
程序是一個通用過濾器,用於提取輸入流或某些輸入文件的前半部分-但值得注意的是,默認git log
輸出的第一行由commit
后面的單詞組成由提交的哈希值(可能並非巧合)拼寫為40個字符:
$ git log | head -n 1
commit 8f60064c1f538f06e1c579cbd9840b86b10bcd3d
由於commit
(包括尾隨空格)的長度為8個字符,因此,如果將其切成40個字符,則會得到提交ID的32個字符的縮寫。
由於git log
通常以向您顯示HEAD
提交開始,所以這一切都意味着您正在獲取HEAD
提交的哈希ID(的一部分),並且在Git中有一種更直接的方法:
$ git rev-parse HEAD
8f60064c1f538f06e1c579cbd9840b86b10bcd3d
這省略了commit
(和空格)一詞,但給了您我懷疑您關心的40個字符。 您可以通過添加--short
或--short= count
將哈希縮短為任意數量的字符:
$ git rev-parse --short=12 HEAD
8f60064c1f53
通常,將單個名稱(例如master
或標記名或HEAD
為Git對象標識符(SHA-1哈希)的方法是使用git rev-parse
。
基本上,它回顯多行。 這樣您的命令每行剪切40個字符。
如果您確實想要前40個字符(與行模式無關),請執行以下命令
git log <branch_name> | awk '{print substr($0,1,40);exit}'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.