gpt4 book ai didi

git - 获取 git log 的前 'x' 个字符

转载 作者:太空狗 更新时间:2023-10-29 14:29:07 25 4
gpt4 key购买 nike

我试图只获取 git 日志的前 40 个字符,我当前不工作的命令是:

git log <branch_name> | cut -c 1-40 >> some_file

这会输出整个日志。

Linux 有点新手,有什么建议吗?

编辑:

git log <branch_name> | head -n1 >> some_file

根据@Someprogrammerdude 建议的工作命令

最佳答案

| head方法很好——head program 是一个通用过滤器,用于提取输入流的前半部分或一些输入文件——但值得注意的是,默认值的第一行 git log输出由单词 commit 组成后跟提交的散列,(可能并非巧合)拼写为 40 个字符:

$ git log | head -n 1
commit 8f60064c1f538f06e1c579cbd9840b86b10bcd3d

commit  (包括尾随空格)的长度为 8 个字符,如果将其缩减为 40 个字符,则会得到 32 个字符的提交 ID 缩写。

git log通常首先向您展示 HEAD提交,这一切都意味着您正在获取 HEAD 的(部分)哈希 ID提交,在 Git 中有更直接的方法:

$ git rev-parse HEAD
8f60064c1f538f06e1c579cbd9840b86b10bcd3d

这里省略了 commit 这个词(和空格),但可以得到我怀疑您关心的 40 个字符。您可以通过添加 --short 将哈希缩短为您喜欢的任意数量的字符。或 --short=<em>count</em> :

$ git rev-parse --short=12 HEAD
8f60064c1f53

一般情况下,转单个名字的方式——比如master ,或标签名称,或 HEAD —进入一个 Git 对象标识符(SHA-1 哈希)是使用 git rev-parse .

关于git - 获取 git log 的前 'x' 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41975669/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com