答案 0 :(得分:2)
在Git中,分支名称(如master
)包含分支的 tip 的提交哈希ID。 (哈希ID是指定一个特定提交的唯一标识符。没有其他提交将具有相同的哈希ID。)
因此,名称master
始终包含一些现有的有效提交的ID。
一个新的空存储库中没有提交。这是一个新的空存储库中所有有效提交ID的列表:()。 master
应该在其中哪些提交ID?
在您进行第一次提交之前,没有有效的提交ID ,因此不能有master
分支。在分支机构master
上进行第一次提交,分支机构master
将会无处不在。现在,在存储库中恰好有一个 密码,master
将包含其ID(无论是哪个ID,它们看起来都是相当随机的,尽管实际上它们是对所有进入提交)。
当您进行第二次提交时,master
将保留该新提交的ID。第一个提交的ID将位于第二个提交的内部,以便Git可以在第二个提交的末尾开始并向后工作。这就是所有分支的名称:它保存了 last 提交的ID,Git从该ID向后工作到较早的提交。
一旦您提交了一些内容,就可以根据需要选择任意多个分支名称。 (如果您有一个提交且分支名称很多,则所有名称都指向一个提交,因为那是唯一的提交。这对于Git来说是正常的!)不过,在那之前,您不能有任何分支名称,但是,您已经仍然在某个分支上。您所在的(不存在)分支(通常为master
)将通过创建第一次提交来创建。