我正在尝试创建一个本地Git分支,但它无法正常工作。 以下是我正在使用的命令:
tablet:edit11$ git checkout -b edit_11
Switched to a new branch 'edit_11'
tablet:edit11$ git checkout edit_11
error: pathspec 'edit_11' did not match any file(s) known to git.
tablet:edit11$ git branch
tablet:edit11$
发生了什么?
答案 0 :(得分:2)
您已成功创建并且"已切换为"当你跑
时,一个名为edit_11
的分支
git checkout -b edit_11
但是,所有内容(包括空git branch
输出)表示您刚刚初始化了存储库并且尚未进行初始提交。如果没有提交,分支没有任何有用的指向,没有什么可以检查。
因此,当你运行
git checkout edit_11
您收到以下错误,
error: pathspec 'edit_11' did not match any file(s) known to git.
即使分支edit_11
确实存在。
问题可以重现如下:
$ mkdir testgit
$ cd testgit
$ git init
Initialized empty Git repository in /xxxx/testgit/.git/
$ git checkout -b edit_11
Switched to a new branch 'edit_11'
$ git checkout edit_11
error: pathspec 'edit_11' did not match any file(s) known to git.
$ git branch
$
在分支edit_11
上进行第一次提交后,git checkout edit_11
将不再抛出任何错误。请注意,这是一个no-op,因为当前分支已经是edit_11
。
$ printf foo > README
$ git add README
$ git commit -m "add README"
[edit_11 (root-commit) 90fe9c1] add README
1 file changed, 1 insertion(+)
create mode 100644 README
$ git branch
* edit_11
$ git checkout edit_11
Already on 'edit_11'
答案 1 :(得分:0)
第一行创建新分支并将您移至该分支。你不需要再做了。只是使用:
git checkout -b edit_11