当前位置: 首页 > 知识库问答 >
问题:

javascript - commit是属于哪分支啊?

郎鸿雪
2023-06-10

如何知道GitHub上一个blob的版本是在哪个分支上?

举例:

https://github.com/test/test-proj/blob/34f2265010a55f425e365bc61c5d8c2b3175b62a/packages/core/src/element/bucketlist.ts#L499
我们知道34f2265010a55f425e365bc61c5d8c2b3175b62a 是这个文件:bucketlist.ts的一个commit版本,但是我们如何才能知道此commit是属于哪个分支呢?

共有1个答案

颛孙霖
2023-06-10

commit 并不一定属于某一个 branch 的呀。假如你从 branch A checkout 到 branch B,此时 B 的所有 commit id 都跟 A 是一样的;然后你在 B 内做了一些修改后 commit,然后 merge 回 A 了(假如说你没有 squash),那么你修改的这个 commit 就会同时存在 A 和 B 中了。

换而言之 commit id 仅仅是标识一次 commit 的,但 commit 并不从属于哪一个 branch。

你要是想知道某次 commit 在哪些 branch 里出现过,那么可以:

git branch -r --contains <COMMIT_ID>

但前提是这个分支没被删除。比如你切到 branch C 上修改,merge 回 A 后把 C 删了,那 C 就查不到了的。在 git 模型中 commit 时所在的那一个 branch 并没有被记录下来,自然你就无从查询了。

 类似资料:
  • 如何知道GitHub上一个blob的版本是在哪个分支上? 举例: 我们知道34f2265010a55f425e365bc61c5d8c2b3175b62a 是这个文件:bucketlist.ts的一个commit版本,但是我们如何才能知道此commit是属于哪个分支呢?

  • 如上图,我想实现图上的效果,合并dev分支上历史连续提交的几个commit为一个到master主分支上,但是并不合并到最新 我知道直接合并分支到最新的提交为一个commit是以下代码 但是不想合并到最新应该如何操作呢? 可能还会有下面的需求 将上面不同的连续几个分别合并成几个commit到master上

  • 提示: ●输入点、面要素,计算点归属于那个区域。 ●点击 “分析”,统计完成后点击各个标注可查看判断结果。 操作步骤: ①选择"统计分析"模块。 ②点击"标注点区域归属分析"。 操作动图: [查看原图]

  • 问题内容: 我熟悉的典型用法,如下所示: 触发载入事件的所有html元素是什么?(因此执行onload属性中提供的javascript) 例如,一个这样的标记将在加载后执行属性中提供的javascript : 问题答案: 以下HTML标记支持“ onload”: 以及以下Javascript对象:

  • 我在Git中有两个主要分支:和。 我的分支的结构如下: 在我执行合并之前,和在提交、和的master中有一个共同的父级 ,我删除了一些文件(比如和)当它们仍然存在于分支中的提交中时,它们不正确。 因此,当我通过创建提交来执行三方合并以加入和时,不再包含foo和bar!Git没有以任何方式通知我他们失踪的消息。 在我看来,因为,和只是在提交之后重新播放,因此和都消失了。 Git合并的这种行为对我来说

  • 刚接触Git不久,误操作把Git 的本地分支文件夹给Shift delete了,本地分支还没有commit和push到Server远程分支上去,现在没有本地分支,如何删除Server上的远程分支呢? 似乎没有Push过本地分支,无法直接删除远程分支