【发布时间】:2022-01-13 14:02:55
【问题描述】:
我们有一个包含许多开发人员的相当大的 git 存储库,我被要求调查一个特定的更改是如何进入我们的主分支的。因为分支只是对提交的引用,并且这些引用会随着时间的推移而移动,所以我不知道如何确定开发人员在进行特定提交时所在的分支。鉴于提交不“属于”任何特定的分支,如何做到这一点?有没有可能?
【问题讨论】:
-
这最终将取决于您的工作流程,正如您已经提到的,git 本身不存储任何分支元数据。一些工作流程包括使用本地挂钩来自动添加分支名称以提交消息。可能是获取您信息的一种方式,但这不是追溯性的,您将无法及时阅读。
-
你怀疑这个分支还存在吗?而且,你为什么想知道这个 - 分支名称对你有帮助吗?旁注,如果您使用 PR,您的 SCM 工具可能能够查看过去完成的 PR 的历史,以找到引入它的 PR,并且通常会告诉您当时的分支名称。
-
你为什么在乎?假设我在我命名为
frink的分支上进行了提交,然后我将其重命名为monty。这个提交和我后来直接在分支名称flanders上进行的提交有什么区别,然后我将其重命名为frink,这是你看到的那个? -
我很在意,因为我需要知道开发人员在进行特定提交时在哪个分支上工作。有很多分支和合并正在进行,有时我们需要确定特定更改如何在主分支中结束。我们可以调查并找出是什么提交引入了更改,但不知道当时它在哪个分支上。这会将整个分支历史变成一个无用的提交图,无法进行有意义的分析。这似乎应该是任何源代码控制系统的基础。
-
这能回答你的问题吗? Finding what branch a Git commit came from
标签: git branch git-branch