当我执行 git branch -a 时,分支的分支会是什么样子?

How will a branch off a branch look like when I do git branch -a?

如果我在我的终端机上做 "git branch -a",分支的分支(所以我从另一个分支创建的分支)看起来与原始分支不同吗? 例如,如果我在 branchA 之外有一个 branchB,分支应该是这样的:origin/branchA/branchB?

没有

无论如何,除非你这样命名。显示的只是分支的名称,可以是任何你想要的。

branchB 而不是 显示为 branchA/branchB 的原因是:

  • 这意味着 branchAbranchB 之间存在某种强耦合,考虑到以下情况毫无意义:

    • branchA 可以随时删除(不会删除它引用的提交):branchB 仍然存在,未更改
    • branchB 可以随时 rebased 在任何其他分支之上
    • branchB 不知道它在 "based" 上的任何其他分支:它只引用一个提交(以及所有可从其 HEAD 访问的提交)
  • 分支名称中允许使用斜杠:您可以将其命名为xxx/yyy(如一个分支):这是为了定义一个hierarchy in a branch naming convention.
    典型例子:

    • Gerrit 个审查分支:refs/for/REL1_20/bug/36151for/REL1_20/bug/36151 是一个 (Gerrit) 分支。
    • GitHub Pull Request branches: git fetch origin pull/ID/head:BRANCHNAME: pull/ID 是一个 (PR) 分支