【问题标题】:How to find the branch from commit id如何从提交 id 中找到分支
【发布时间】:2020-06-19 09:15:08
【问题描述】:

所以,我正在尝试查找进行给定提交的分支名称。 (c853d8cf3ae34dae9866b874b96c6529515d7e90)

我在 git 问题上引用了父 ID 和提交 ID。
如何找到给定的提交 ID 被推送到“x”分支?

【问题讨论】:

标签: github git-commit


【解决方案1】:

特别是在 GitHub 上,您现在可以查看给定提交所属的分支。
博文“Branch and Tag Labels For Commit Pages”详情:

如果提交不在默认分支上,指示器将显示包含该提交的分支。
如果提交是未合并拉取请求的一部分,将显示一个链接 .

一旦提交进入默认分支,将显示包含该提交的所有标签,并且默认分支将是唯一列出的分支。


原答案

您可以列出这些分支:

git branch --contains <commit>

# in your case
git branch --contains <commit> | grep x

更多详情请见“Git: Finding what branch a commit came from”。

不要忘记提交可以是多个分支的一部分。

【讨论】:

  • 感谢 VonC 的更新。新功能非常酷。最后是我一直想要的 Git 功能。
  • 如果您想以编程方式使用它,这些选项可能会有所帮助:git branch --no-color --no-column --format "%(refname:lstrip=2)" --contains &lt;commit&gt;
  • 请注意,上述技巧中--format 的使用(尽管它很甜美)仅在git v2.13.2 及更高版本中可用。
  • 如果那里没有分支名称怎么办,可能被删除了,如何在本地结帐?
  • @jangorecki 您可以从提交 ID 开始创建一个新分支。 git switch -c newBranch &lt;commitID&gt;,使用新的git switch 命令:stackoverflow.com/a/57066202/6309
【解决方案2】:

只是作弊。

你可以在 Github 的提交详情页面看到分支如下:

https://github.com/{github_username}/{repo}/commit/{commit_id}

例如:https://github.com/chungth/Laravel-5.2-Bootstrap3-starter-site/commit/f81c13234a9da988613e14e52f752abec5f51997

您可以在该页面上看到当前的分支名称。

【讨论】:

  • 超级有用。谢谢!!
猜你喜欢
  • 2011-02-20
  • 2020-01-19
  • 2022-01-13
  • 2018-04-15
  • 1970-01-01
  • 2021-06-28
  • 2017-03-02
  • 2023-01-11
  • 1970-01-01
相关资源
最近更新 更多