gpt4 book ai didi

java - 我如何使用 JGit 找到分支的第一次提交?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:20:40 26 4
gpt4 key购买 nike

我想使用 Eclipse 的 JGit 库找到特定分支的第一个提交。例如,如果我有

master -- a -- c -- d -- e
\
feature b -- f -- g -- h
\
another j -- k -- l

// findBranchRoot() is the magic method we want to create
repository.resolve("feature").findBranchRoot().getId(); // this would return b
repository.resolve("another").findBranchRoot().getId(); // this would return j

有人知道怎么做吗?

最佳答案

您将遇到的问题是——请耐心等待,在这里——提交不在“在”分支上。要看到这一点,请考虑您绘制的图表。这是模棱两可的。难免如此。你画的

A---C---D---E          master
\
B---F---G---H feature
\
J---k---L another

而且根本没有办法确定 B 是在 feature 还是 another 上制作的(或者,就此而言,哪个三个 A 中的一个是“on”)。

A---C---D---E          master
\
B---J---K---L another
\
F---G---H feature

显示完全相同的历史。这完全取决于您选择如何解释它。

如果你想将提交绑定(bind)到一些外部管理记录,在提交消息中放置一个标记,就可以做到,但在 Git 本身(以及实际工作)中,重要的是历史结构,而不是如何在这个 repo 或那个中引用了它的一些内容。

如果到了发布 featureanother 的时候,您将需要以任何一种方式推送提交 B,除非它已经作为其他工作的一部分被推送。血统很重要。分支名称没有。

关于java - 我如何使用 JGit 找到分支的第一次提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58416014/

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