git - 为什么`git show`不提供重定向标准输出的分支信息?
问题描述
以下是两个带有结果示例的命令:
$ git show
commit 6f367e05cc6457fd0c0fc59fe0476db06cffb383 (HEAD -> master, tag: v7.32, origin/master, origin/HEAD)
Merge: 94ecf1d8 f3ea52b0
Author: Pupkin <pupkin@server.com>
Date: Fri Dec 13 12:49:12 2019 +0700
Some commit description.
$ echo `git show`
commit 6f367e05cc6457fd0c0fc59fe0476db06cffb383 Merge: 94ecf1d8 f3ea52b0 Author: Pupkin <pupkin@server.com> Date: Fri Dec 13 12:49:12 2019 +0700 Some commit description.
重要区别:在第二个结果中没有关于分支的信息 - "(HEAD -> master, tag: v7.32, origin/master, origin/HEAD)"。
我还尝试了 stdout 和 stderr 相互重定向,重定向到文件、grep 和其他一些结构。同样的结果,在控制台中显示所有内容,在其他情况下 - 没有分支信息。
为什么这样?
以及如何强制 git 返回整个消息?
解决方案
正如上面评论中的@ElpieKay所说,我需要将密钥--decorate
与命令一起使用。
从Git 手册:
--decorate[=short|full|auto|no]
打印显示的任何提交的引用名称。如果指定了short,则不会打印引用名称前缀refs/heads/、refs/tags/和refs/remotes/。如果指定了 full,则将打印完整的 ref 名称(包括前缀)。如果指定了 auto ,则如果输出将发送到终端,则显示参考名称,就好像给出了 short 一样,否则不显示参考名称。默认选项是short。
但我很确定默认情况下使用手册中所说的auto
代替。short
这个问题就解决了。
推荐阅读
- perl - 查询 Perl 输出
- oracle - 如何提高oracle中的单次插入性能
- python-3.x - 在随机森林中使用 predict() 与 predict_proba() 计算时,ROC_AUC_SCORE 不同
- python - 比较两个列表以获取不匹配的元素
- python - 如何在多维数据上显示 K 均值聚类的输出?
- grep - 如何使用 grep 从日志文件中提取 IP 地址和日期/时间字符串?
- time - 23:59:60 什么时候是编程的有效时间?
- python - IxNetwork python 库:在加载的 ixncfg 文件中看不到流量项
- c# - 如何删除 csv 文件中管道字符串之间的逗号,例如 |Ana "ana" Ana|, |adda,adda|
- coinbase-api - 从 BTC 转换为另一种货币