项目场景:
当新建一个本地仓库的时候如果没有任何操作的情况下操作分支。
问题描述:
初学Git时,如果新建一个本地仓库的时候如果没有任何操作的情况下进行分支创建(git branch 'branchname'
),会遇到这样一个报错信息:
***@***deMacBook-Pro GitDemo % git branch list
fatal: Not a valid object name: 'master'.
原因分析:
根据提示可以知道,原因是没有一个叫’master’的提交对象。你也可以执行一下git branch
,会发现没有看到本地分支列表(没有内容):
***@***deMacBook-Pro GitDemo % git branch
***@***deMacBook-Pro GitDemo % git branch -a
其实,要先进行一次commit操作(进行一次提交操作),才会真正建立master分支。这是因为分支的指针要指向提交的,只有进行了提交,才有指针指向该分支,才算是真正的建立了分支,成为一个有效的对象。
解决方案:
要进行一次git commit
操作,就要现有一次git add
操作。所以最好在新建一个本地仓库后就完整的进行一次(add->commit)的操作。
如果本地没有任何文件,就添加一个文件(例如:readme.txt)
操作示例:
说明:
- 先创建一个文件:
touch readme.txt
,用ls查看;- 用
git add .
存到暂存区,用git status
查看;- 用
git commit -m"msg:初次commit,新建了readme文档"
提交;- 用
git branch test
创建分支,用git branch
查看分支列表。
图中显示当前分支和创建新分支的列表,没有再报错,问题到此解决。