是否有一种方法可以确定Git分支是何时创建的?我在我的repo中有一个分支,我不记得创建了它,我想也许看到创建时间戳会唤醒我的记忆。


当前回答

如果只是检查原始修订的SHA1:

(源)

可以简化和使用git日志-一线主..修复

其他回答

Use:

git reflog

在当前文件夹中显示存储库的所有生命周期。 首先出现的分支名称(从下到上)是创建的源。

855a3ce HEAD@{0}: checkout: moving from development to feature-sut-46
855a3ce HEAD@{1}: checkout: moving from feature-sut-46 to development
855a3ce HEAD@{2}: checkout: moving from feature-jira35 to feature-sut-46
535dd9d HEAD@{3}: checkout: moving from feature-sut-46 to feature-jira35
855a3ce HEAD@{4}: checkout: moving from development to feature-sut-46
855a3ce HEAD@{5}: checkout: moving from feature-jira35 to development
535dd9d HEAD@{6}: commit: insert the format for vendor specific brower - screen.css
855a3ce HEAD@{7}: checkout: moving from development to feature-jira35
855a3ce HEAD@{8}: checkout: moving from master to development

这意味着:

从master创建分支开发(checkout -b) 分支feature-jira35从开发中创建(checkout -b) 分支特性-jira-sut-46从开发中创建(签出-b)

试试这个

  git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)'

如果只是检查原始修订的SHA1:

(源)

可以简化和使用git日志-一线主..修复

如何通过Github GUI知道

我展示了所有的答案,没有人用UI给出答案。如果有人想看到分支是通过Github UI创建的。

进入洞察标签。 在侧栏中选择Network选项卡。

您可以看到分支的创建,如下所示

首先,如果你的分支是在gc中创建的。Reflogexpire days(默认90天,即大约3个月),你可以使用git log -g <branch>或git reflog show <branch>来查找reflog中的第一个条目,这将是创建事件,看起来如下(对于git log -g):

Reflog: <branch>@{<nn>} (C R Eator <creator@example.com>)
Reflog message: branch: Created from <some other branch>

你会得到谁创建了一个分支,多少操作之前,以及从哪个分支(好吧,它可能只是“created from HEAD”,这没有多大帮助)。

这就是迈克塞普在他的回答中所说的。


第二,如果你的分支长于gc。如果你已经运行了git gc(或者它是自动运行的),你必须找到与创建它的分支的共同祖先。看一下配置文件,可能有分支。归并项,它会告诉你这个是基于哪个分支的。

如果你知道有问题的分支是从主分支创建的(从主分支分叉),例如,你可以使用下面的命令查看共同祖先:

git show $(git merge-base <branch> master)

你也可以尝试git show-branch <branch> master作为替代。

这就是格培根在他的回答中所说的。