git的日志和git-whatchanged之间的区别是什么?git的日志和git-whatchan

2019-05-12 03:35发布

  1. 鉴于这样的回答另一个问题时,和
  2. 鉴于手册页都git的日志和混帐whatchanged说,他们从拉的git-REV-列表 ...

......那么,什么是两个命令的区别? 何必为他们两个?

Answer 1:

在提交52f425e1 (八月30日2013)提到:

鼓励新用户使用“ log ”代替。 这些天来,这些命令是统一的,只是有不同的默认值

git log ”只允许您查看的日志信息,当它在2005年6月月初加入仅仅是在2006年4月初,该命令学会了采取差异比较选项没有差异列表。
由于这个原因,电力用户倾向于使用“ whatchanged ”自五月中旬2005年已经存在,并支持差异比较选项。


这正是该男子页的新版本git whatchanged现在说:

新用户鼓励使用git log来代替。 的whatchanged命令是基本相同git log但缺省为显示原始格式diff的输出和跳过合并。

该命令被保持主要由于历史原因; 许多人谁学到的Git很久以前的手指git log是通过阅读Linux内核邮件列表发明进行培训,以输入。

作为托雷克 评论 ,在git log相当于将是:

git log --raw --no-merges

(这将避免这个问题 )



Answer 2:

在最简单的形式,“git的日志”显示每个提交(SHA,作者,日期,消息),而“git的whatchanged”显示了承诺,改变加的文件。 例如:

$ git log
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date:   Wed Apr 4 22:55:33 2012 -0700

Add more

commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date:   Tue Apr 3 20:36:04 2012 -0700

del bing/one.c

但对于whatchanged:

$ git whatchanged
commit db9f525674443314a9822a6bd6c3acce49c8f8d6
Author: ...
Date:   Wed Apr 4 22:55:33 2012 -0700

Add more

:100644 100644 f2e4113... d415016... M  bar.c

commit eed0b7aa3cad5d985b5f1d52f3c0605339c119a1
Author: ...
Date:   Tue Apr 3 20:36:04 2012 -0700

del bing/one.c

:100644 000000 e69de29... 0000000... D  bing/one.c

的选项大量存在以改变每个命令的输出。 例如“git的whatchanged -p”示出了在比较/补丁形式的变化。



Answer 3:

我不完全同意。 你可以看到合并与修改过的文件log

我没有找到这个功能是非常有用的,知道什么时候一个文件中的某些分支,例如被合并:

file ccbranch1具有从1/1/2012提交日期,如果你做一个合并到branch2 ,后来想遵循该犯在被介绍,当日branch2 ,可以git log的帮助? 如果你有合并,你可以在其中搜索与git whatchanged -m sha1



文章来源: Difference between git-log and git-whatchanged?
标签: git git-log