需要帮助来理解项目 git 分支树

Need help to understand a project git branch tree

我被分配到一个新项目,但我无法理解它当前的分支结构,下面是修订图结构:

该项目已从 cvs 移出,在最左侧有 "arelease" 节点,我使用 TortoiseGit。 现在的问题是:

  1. "fix_partitaiva_selezcliente"是根节点,master是其分支之一,这样说对吗?
  2. 开发是从哪里分支出来的? fix_bug37189 ?掌握 ?是两者的合并吗?
  3. porting_bs2ws_...从哪里分支出来的?
  4. 为什么 fixbug_38795 方框是红色的并且被 origin/fixbug_38795 指向?
  5. 我在理解 master 和 develop 上的内容时遇到了一些问题, 有更清晰的视图或控制台命令来了解当前分支吗?
  6. 如果我说的是一团糟还是某种 git 策略?我怎么能在里面放点顺序呢?我的意思是我正在考虑使用 rebase 来移动一些修复分支根来开发,我是否误解了 rebase 命令的使用?

这是一个单人项目,因此不存在打断其他人工作的风险。

请记住,在git中,分支本身没有父子关系。即commits形成一个图,但是branches和tags只是"sticky notes"指向一个commit

这意味着像您这样的显示,带有分支名称和箭头指向它们之间,介于无用和有害之间(为了您对情况的理解),因为它暗示了存在 none 的语义。 =12=]

我会追根溯源(原文如此)并使用 gitk 或类似工具来更好地理解。它显示带有分支标签的提交,你会看到 确切地 什么时候发生了什么(当然,有很多工具显示 "commits with added branching information",但是 gitk 可用无处不在)。