Git车道概念

时间:2012-10-30 11:41:55

标签: git egit

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

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

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

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

    并且你们中的任何人都有关于egit development的任何文档:)

    编辑:

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

    代码见于 org.eclipse.egit.ui.internal.history.CommitGraphTable 我发现与lane defect相关的一些代码用于谷歌搜索 git CommitGraphTable lane

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

    例如:It org.eclipse.egit.ui.internal.history.SWTCommit org.eclipse.egit.ui.internal.history.SWTCommitList.SWTLane

    jGit org.eclipse.jgit.revplot.PlotCommitList

    那么请告诉我为主车道设置车道的位置?

2 个答案:

答案 0 :(得分:1)

也许屏幕截图有助于澄清“lane”的含义,但是EGit没有将id附加到分支,它只是列出它们:

Egit branches

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


编辑完成后,“泳道”在这里指的是internal class SWTLane or SWTCommitList“,用于管理分支的颜色。
我没有看到master的特定通道设置,只是查询在SWTCommitList中完成的所有正确分支,以便绘制正确的通道。

答案 1 :(得分:1)

我进一步深入研究代码, Class PlotCommitList 为提交树中的每个提交对象设置Lane。

这个逻辑是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
}

....

}