每个人都会: git-log和git-whatchanged有什么区别?
鼓励新用户使用“log”命令。现在,这些命令已经统一,只是默认设置不同。
我最近才发现了 git whatchanged
,但是发现它的输出:
commit deadbeefdeadbeefdeadbeefdeadbeefdeadbeef
Author: Egg Sample <mail@example.com>
Date: Mon Jan 28 16:32:04 2019 -0800
change some files
:100777 100644 abaddad1 feeb1e42 M src/changemymode.txt
:100644 100644 1234abcd abcd1234 M src/changemycontent.txt
:000000 100755 00000000 6600abcd A src/addme.txt
:100755 000000 feed1bee 00000000 D src/deleteme.txt
最近我遇到了一个特殊的工作流(涉及到一个有很多文件模式更改的分支),这个工具对我非常有用。出于好奇,我想知道如何使git log
以这种方式运行:
- 显示提交信息,
- 更改的文件的旧模式、新模式、哈希值、
Modified|Added|Deleted
和文件名 - 而不是差异本身
- (默认情况下排除合并,也称为
git whatchanged
的行为)。
我想这可能与--stat
或--format
选项有关,但是git log --help
似乎没有提到任何关于在这些选项中打印文件模式和对象哈希的内容,并且我快速浏览文档时没有发现任何问题。
git whatchanged
=git log --raw
(以及根据whatchanged页面,也要加上--no-merges
)。 - torek