每当我在终端模拟器中看到一个git log --all --graph --oneline --decorate输出时,第一个提交就会在终端屏幕的顶部查看。当我退出使用git log的q输出视图时,下一个命令在屏幕底部添加了一些新的行,因此不再可以看到其中的几行。
通常,这些最有趣的行是最有趣的,因为它们类似于最近的git历史,所以当我键入下一个git命令时,它们仍然是可见的。
如何使git log输出从屏幕底部开始显示,即在底部查看第一次提交?您必须向上滚动才能查看旧的提交。
注意:--reverse标志不是一个选项,原因有两个。
--graph标志:fatal: cannot combine --reverse with --graph组合。发布于 2016-03-03 14:21:33
这是一个似乎抓住大多数边缘情况的答案。没有经过彻底的测试。
[alias]
rlog = !"git --no-pager log --all --graph --decorate --oneline --color=always | tac | awk -f ~/switchslashes.awk | less -X +G -r"文件~/switchslashes.awk包含的
{
match($0,/([[:space:][:cntrl:]|*\/\\]+)(.*)/,a) # find the segment of the graph
tgt = substr($0,RSTART,RLENGTH) # save that segment in a variable tgt
gsub(/\//,RS,tgt) # change all /s to newlines in tgt
gsub(/\\/,"/",tgt) # change all \s to /s in tgt
gsub(RS,"\\",tgt) # change all newlines to \s in tgt
gsub(/_/,"¯",tgt) # change all _ to ¯ in tgt
print tgt substr($0,RSTART+RLENGTH) # print tgt plus rest of the line
}这是这个剧本的一个修改版本。它用反斜杠代替下划线,用反斜杠代替掉期斜杠,反之亦然。这修复了文本被tac反转后的图形。
免责声明
我从未开始使用这个,因为它对于更大的存储库来说很慢。它需要加载所有的东西,然后应用替换,这需要太多的时间来满足我的口味。
发布于 2016-03-02 09:42:28
首先,您可以始终将-n传递到日志,以打印出您感兴趣的任意数量的提交。
如何使git日志输出看起来相反?
使用--reverse标志:
--reverse以反向顺序输出提交。
git log --reverse有关git日志的更多提示和标志,您可以在这里阅读:
http://www.alexkras.com/19-git-tips-for-everyday-use/
发布于 2016-03-02 10:59:20
接近预期结果的命令是
git --no-pager log --all --graph --decorate --oneline --color=always | tac | less -r +G -X然而,这仍然会使图形有点混乱,因为斜杠没有被正确地反转。
更新
此命令还负责用反斜杠交换斜杠,反之亦然。
git --no-pager log --all --graph --decorate --oneline --color=always | tac | sed -e 's/[\]/aaaaaaaaaa/g' -e 's/[/]/\\/g' -e 's/aaaaaaaaaa/\//g' | less -r +G -X相应的git别名是
[alias]
rlog = !"git --no-pager log --all --graph --decorate --oneline --color=always | tac | sed -e 's/[\\]/aaaaaaaaaa/g' -e 's/[/]/\\\\\\\\/g' -e 's/aaaaaaaaaa/\\\\//g' | less -r +G -X"https://stackoverflow.com/questions/35743332
复制相似问题