我不得不做一个非常大的git rebase,导致许多文件发生冲突。在某些情况下,我不得不重写部分代码以使其兼容,而不仅仅是使用行/块的向上流或下游版本。
到目前为止没有问题!一旦我解决了所有冲突,我的git日志看起来就像预期的那样,并且历史发生了变化。
但是,通过在Intellij中使用Annotate,重新提交的提交显示了rebase完成的日期。
我现在有相同的历史记录,(提交哈希是相同的),多次提交,有两个不同的日期。我搞砸了一些东西,或者这是预期的行为
答案 0 :(得分:4)
我不知道这是否是预期的行为(即我在网上进行了一些研究,但找不到任何东西),但这就是发生的事情:
简短回答
出于某种原因,IntelliJ显示提交日期,在您的情况下,该日期对应于rebase的日期。
一些(必要的)git理论
Rebase创建新的提交,这就是git的工作方式。但是git知道旧的和新的提交是相关的,所以它在新的提交中保存了原始日期(作者日期)和rebase日期(提交日期)
您可以使用选项--pretty=fuller
有趣的事实
IntelliJ显示提交日期和作者。
显示提交日期可以是一种选择。但在这种情况下,我会显示提交者以及提交日期。另一种选择是显示作者和作者的日期。
在我看来,IJ正在混淆事情,但也许有理由