gpt4 book ai didi

git - 如何找到 git commit 所在的分支? (使用 libgit2sharp)

转载 作者:太空狗 更新时间:2023-10-29 13:14:59 25 4
gpt4 key购买 nike

对于一个研究项目,我一直在尝试复制 SourceTree 或 TortoiseGit 等版本控制软件中的图形 View 。

我正在尝试实现的图 TableView The graph view I'm trying to implement

我遇到的最大问题是找到提交属于哪个分支。如果我有这个,我可以为提交点分配一列和一种颜色。这很难,因为在幕后,Git 不存储提交最初所在的分支。

查看 StackOverflow 上的其他解决方案,我发现可以获得包含提交的分支列表,但我需要一种方法来隔离单个分支以显示在我的图表中。以同样的方式,SourceTree 或 TortoiseGit 以某种方式设法做到这一点。

我的问题也和这个一样,Find out the branch a commit belongs to in LibGit2Sharp?

看起来他们在私有(private)讨论室中发现了真正的解决方案。但是,我没有资格发表评论并询问他们发现了什么。

有人对我如何做到这一点有任何想法吗?

或者,@nulltoken 如果你偶然看到这个并记得,你知道你们在那个讨论室里发现了什么吗?

最佳答案

不确定这个答案对您有多大帮助。 LibGit2Sharp 等效调用“git branch --contains $SHA1”是 GitHub 上请求的功能,an open one !

很久以前,我用了一个query over all refs like this ,但对于您的用例,它可能会非常慢。

我正在尝试寻找缓解此问题的可能方法,但无法提出任何指导意见。 :( 然后我发现 this comment 断言您需要遍历 DAG 并验证具有提交的实际分支。所有这些都暗示您需要采用慢速遍历所有引用的方法。

关于git - 如何找到 git commit 所在的分支? (使用 libgit2sharp),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47276996/

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