gpt4 book ai didi

git - 在github上找到一个commit的分支

转载 作者:太空狗 更新时间:2023-10-29 14:44:01 24 4
gpt4 key购买 nike

我想找出某个提交在 GitHub 上属于哪些分支,但与大多数提交不同的是,这个提交不会在 GitHub 上显示其分支

一个) enter image description here二) enter image description here我克隆了存储库,然后运行 git branch --contains <COMMITID>在本地,但我得到了 error: no such commit

但是,在 github 上,我可以通过传递 <COMMITID> 来导航到提交在 URL 中,我认为这与我之前得到的错误相矛盾......

我怀疑一个分支被删除了(我不确定远程分支删除,但我认为只有 ref 被删除并且提交未被触及?)......并且提交不可访问(当我忽略时git clone 本地?)

如果是这样,我如何才能找到有关这些“僵尸提交”的更多信息?如果我错了,到底发生了什么?也许是 git revert

最佳答案

pull 请求不是分支,它是一个标记,上面写着“我想将这个功能分支 merge 到另一个分支”。

这里发生的事情是:

  1. 有人创建了一个分支。
  2. 已创建 pull 请求以 merge 此分支。
  3. 分支在没有使用 --no-ff 的情况下被 merge , 然后删除。
  4. 然后你克隆了。

由于来自现在已删除分支的提交是不可访问的,因此当您克隆时,git 不一定费心发送它们。由于它们尚未在远程进行垃圾回收,因此当您使用 GitHub 上的 URL 导航时仍然可以看到它们(相当于 git show <somehash> 的操作)。

使用 merge 提交(例如通过 --no-ff )将防止“原始”提交在您 merge 时变得不可访问。 Rebase-then-merge 会导致哈希发生变化,但不会发生 merge 提交 - 有些人不喜欢 merge 提交带来的困惑。

您可能会发现 merge 到的分支的历史记录包含具有不同哈希的相同提交。我不相信有一种方法可以获得包含此提交的“垃圾克隆”。 git commit --mirror是最接近的,但这只是获得所有引用....

关于git - 在github上找到一个commit的分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39460134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com