如果在创建分支之前忘记创建'主'分支,如何在git上创建它?

5
最近有人在本地创建了一个仓库,分支出去,并且只将分支推送到远程。另一个人是否可以在没有任何提交的情况下创建'master'分支,并将其推送到远程?
1个回答

4
不行。你不能有一个没有提交的分支,也从来没有任何一个master分支是没有提交的。在你进行第一次提交之前,master在Git仓库中不存在。当你创建一个新的Git仓库时,.git/refs/HEAD将包含以下内容:
ref: refs/heads/master

然而,refs/heads/master 还不存在,直到你提交后才会存在。在第一次提交之前没有 master 分支,也没有东西可以推送。
你可以使用 git log 查找最早的提交,并创建指向该提交的 master 分支,这正是新存储库所发生的情况。
更多信息请参见:fatal: Not a valid object name: 'master'

1
仅凭定义,分支是指向提交的指针。因此,没有提交就不能有分支。http://git-scm.com/book/en/Git-Branching-What-a-Branch-Is - Zombo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接