Git通过“添加到分支的时间”提交历史记录

时间:2013-07-22 20:32:40

标签: git

在Git中,可以有例如包含一个或多个提交的主题分支,这些提交在创建提交时已过时。一段时间后,这些提交可以添加到不同的分支,通常是通过合并或变基。

通常情况下,git log会显示按日期排序的提交列表。创建提交的时间。是否可以根据日期和时间查看此列表?时间提交已添加到当前分支?更具体地说,我正在编写一个脚本,它将返回给我上周添加到分支的提交列表,无论何时创建提交。

一个简单的例子:

假设在7月22日在分支topic中创建了一个提交。几天后,即7月25日,topic分支合并到master。如果我运行我假设的list-commits脚本,要求在7月25日或之后添加的所有提交,我希望上述提交显示,因为它是在7月25日合并的,,即使它是在7月22日创建的

另外需要注意的是,在我典型的Git工作流中,我只使用快进提交,因此当我将一个分支合并到另一个分支时,不会生成合并提交。我需要一种方法来检索这些信息,而不依赖于合并提交。

2 个答案:

答案 0 :(得分:1)

您必须撤消分支中的任何合并以确定何时将提交添加到分支。除此之外,只存储提交时间。

基本上,找到任何合并提交并通过这些提交确定事件的顺序。

答案 1 :(得分:1)

您总是可以编写一个将为您合并的脚本,添加一个描述合并内容的附加提交。这种方法可以为您提供相当大的自由,因为您可以在合并之前或之后修改主数据,选择可以获得最佳结果的排列。

修改

git reflog可能会向您提供您缺少的信息。通过一些工作,