git 未知修订版或路径不在工作树中,首次推送到空远程错误

9udxz4iz  于 2022-12-28  发布在  Git
关注(0)|答案(1)|浏览(164)

我有一个本地的git repo,有很多提交。我在github中创建了一个空的repo(没有初始化任何文件)。

$ git remote add origin https://github.com/bar/foo.git
$ git push -u origin master
Counting objects: 35, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (35/35), 1.95 KiB | 0 bytes/s, done.
Total 35 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
remote: bar/foo
remote: fatal: ambiguous argument 'master': unknown revision or path not in the working tree.
remote: Use '--' to separate paths from revisions, like this:
remote: 'git <command> [<revision>...] -- [<file>...]'
remote: master
To https://github.com/bar/foo.git
 * [new branch]      master -> master

我的更改是远程的,事情似乎运行得很好。尽管如此,为什么我会得到一个“致命”错误?
罕见:致命:参数“master”不明确:未知修订或路径不在工作树中。

h43kikqp

h43kikqp1#

push -u命令的一部分失败了,但这不应该是一个问题,它是一个单独的任务。现在可以尝试运行:

git branch --set-upstream- master origin/master

或者,在更新的git版本中:

git branch --set-upstream-to master origin/master

确保将分支名称调整为您实际使用的名称。这里的第一个参数是将要配置的本地分支的名称,第二个参数是push现在默认指向的目标。

所以,在上面的例子中,我们设置本地master默认为push到origin/master,这就是push -u origin master要做的,如果你的本地repo是好的,如果它有'master'分支,那么这个命令应该成功,没有错误(顺便说一下,push-u应该也有).
如果这个命令失败了,你应该检查一下你在本地存储库中配置了哪些分支、跟踪引用和上游等等--有些地方可能不对!
也许,也就是说,你没有'主'分支在当地?

相关问题