如何在Git中始终显示完整的历史记录?

时间:2014-01-30 18:17:06

标签: git

我正在使用Intellij和命令行Git,我们遇到了没有看到提交的问题,因为Git默认不显示“无趣”的更改。

例如,如果开发人员“A”发生了变化并推动了更改,那么开发人员“B”将其更改回原来的状态(在“A”更改之前)并推送更改,这些提交将不会显示在历史上,因为他们会相互抵消(至少这是向我解释的方式。)这使得很难找到问题并导致很多“我的改变在哪里去了?”

理想情况下,默认情况下,Intellij和命令行都会显示完整历史记录,所有提交(包括合并)。

任何人都知道在.gitconfig中完成此操作的设置吗?

编辑:以下部分来自git-log documentation,并通过“无趣的变化”解释了我的意思

默认模式 将历史简化为最简单的历史,解释树的最终状态。最简单的,因为如果最终结果相同(即合并具有相同内容的分支),它会修剪一些侧分支 --full历史 与默认模式相同,但不会删除某些历史记录。

1 个答案:

答案 0 :(得分:2)

要显示git log的完整历史记录,请使用--sparse--full-history开关调用该记录。

--sparse

    All commits that are walked are included.

    Note that without --full-history, this still simplifies merges: if one of
    the parents is TREESAME, we follow only that one, so the other sides of the
    merge are never walked.

请注意,无法specify default flags for git commands,因此您必须为命令行git use创建别名。我不知道IntelliJ支持这样的git log设置。