1

我是 git 新手,想了解更多关于用于查找分支的 git 通道的信息。Git 存储库有一个通道概念,用于识别我们是在同一个分支还是在主分支等。

但是当我检查为第一个分支初始化的车道时,它被设置为“1” - 主分支,创建的下一个分支被标记为“0” - 第一个分支和下一个分支为车道“2”,然后是车道3等等……

我在 eclispe 中使用 egit2.1 所以我怀疑是否

  1. 主通道在 git 上始终设置为 1。
  2. master的车道值设置在哪里?它是 egit 还是 jgit 的一部分

你们中的任何人有任何关于 egit 开发的文档吗:)

编辑:

抱歉,如果我没有使用确切的名称,我不知道用于车道的类,直到我检查了 eGit 的代码

该代码在org.eclipse.egit.ui.internal.history.CommitGraphTable中找到了 一些与git CommitGraphTable lane的谷歌搜索的车道缺陷相关的代码

这些是我找到车道对象和车道定义的类

eGit org.eclipse.egit.ui.internal.history.SWTCommit org.eclipse.egit.ui.internal.history.SWTCommitList.SWTLane

jGit org.eclipse.jgit.revplot.PlotCommitList

那么请告诉我主车道的车道设置在哪里?

4

2 回答 2

1

也许截图可以帮助澄清“车道”的含义,但 EGit 没有将 id 附加到分支,它只是列出它们:

伊吉特分支

与 Git 相同,它只记录所有分支的活动 HEAD 和 HEADS。


编辑后,这里的“lane”指的是内部类 SWTLane 或 SWTCommitList ”,用于管理分支的颜色。
我没有看到为 设置的特定通道master,仅查询 SWTCommitList 中按顺序完成的所有正确分支绘制正确的车道。

于 2012-10-30T12:28:41.393 回答
1

我对代码做了一些进一步的挖掘,Class PlotCommitList正在为提交树中的每个提交对象设置通道。

这个逻辑是 Jgit 逻辑的一部分

ya @VonC 在SWTCommitList的范围内是正确的

 package org.eclipse.jgit.revplot;

 public class PlotCommitList<L extends PlotLane> extends
    RevCommitList<PlotCommit<L>>{
....
protected void enter(final int index, final PlotCommit<L> currCommit){
//This method contains the logic
}

....

}
于 2012-11-05T11:06:37.140 回答