Git日志将参考元数据打印到文件

问题描述

当我运行git log并在寻呼机中查看时,在提交旁边会得到一些不错的引用元数据:

commit 212b18778130cdf36effe441890826b76b97a09f (HEAD -> master,tag: TAG_8.0.2,origin/author/bootstrap_gcm,origin/master,origin/HEAD)
Merge: 4d7e0962f 7f687a431
Author: Joe,Smith <joe.smith@company.com>
Date:   Sun Oct 4 18:03:37 2020 -0400

    Merge branch 'jsmith/8.0.0_changes' into 'master'

    See merge request project/project!1286

commit 4d7e0962fadc17ac3af23a85b64ecaf65d68bc42 (tag: TAG_8.0.1)
Merge: e7ccb690f cd10de563
Author: Joe,Smith <joe.smith@company.com>
Date:   Fri Oct 2 19:54:31 2020 -0400

    Merge branch 'project2' into 'master'

    See merge request project/project!1285

我正在谈论的引用元数据是:

(HEAD -> master,origin/author/feature_br1,origin/HEAD)
(tag: TAG_8.0.1)

-在括号内提交右边的位置。

但是,如果我执行git --no-pager log > git.log,则所有参考信息都将丢失:

commit 212b18778130cdf36effe441890826b76b97a09f
Merge: 4d7e0962f 7f687a431
Author: Joe,Smith <joe.smith@company.com>
Date:   Sun Oct 4 18:03:37 2020 -0400

    Merge branch 'jsmith/8.0.0_changes' into 'master'

    See merge request project/project!1286

commit 4d7e0962fadc17ac3af23a85b64ecaf65d68bc42
Merge: e7ccb690f cd10de563
Author: Joe,Smith <joe.smith@company.com>
Date:   Fri Oct 2 19:54:31 2020 -0400

    Merge branch 'project2' into 'master'

    See merge request project/project!1285

两个问题。

  1. 为什么?发送给传呼机的同一文本是否也应该重定向到文件?

  2. 转储到文件时,是否可以在括号中保留引用信息?

解决方法

发送到传呼机的相同文本也不会重定向到文件吗?

否:decorate的默认设置为decorate=auto,而 auto 的意思是:

  • 打开(可能通过寻呼机)进入屏幕时(设置为short),但是
  • 转到文件时
  • 关闭(设置为no)。

这正是原因:

git --no-pager log --decorate > git.log

有效:--decorate是将decorate设置为short的缩写,用于执行此命令。

请注意,您可以使用git configdecorate选项配置自己的个人默认设置。参见the git config documentation;搜索log.decorate

,

我仍然不确定第一个问题的答案是什么(为什么分页器中存在的引用信息没有转储到文件中)。但是,我找到了一种解决方法-包括--decorate标志:

git --no-pager log --decorate > git.log

不是完全一样,但是对于我来说已经足够了。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...