3

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

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

一个简单的例子:

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

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

4

2 回答 2

1

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

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

于 2013-07-22T20:35:33.470 回答
1

您总是可以编写一个将为您合并的脚本,添加一个描述合并内容的附加提交。这种方法会给您很大的自由度,因为您可以在合并之前或之后修改母版,选择能给您带来最佳结果的安排。

编辑

git reflog可能会给你你所缺少的信息。通过一点工作,

于 2013-07-22T20:58:05.817 回答