Git Pull致命:找不到远程引用HEAD

toe95027  于 2023-02-07  发布在  Git
关注(0)|答案(2)|浏览(349)

我是GIT新手。我正在用一个运行在ubuntu 12.04 x 64上的VPS作为我开发的私有仓库来试试运气。所以我想我可以试试git。我已经在远程服务器上安装了git,并初始化了一个git仓库,它位于/var/www目录下。我主要开发php应用程序,所以我尝试设置代码到www,这样任何提交都可以被测试,而不是从用户的文件夹移回www。
我正在尝试从远程repo中提取。我正在使用GIT扩展来处理我的Windows计算机上的GIT需求。
然而,当我尝试从远程存储库中提取数据时,我得到了下面的错误。

C:\msysgit\cmd\git.exe pull --progress "Horizon" :refs/remotes/Horizon/master
fatal: Couldn't find remote ref HEAD
fatal: The remote end hung up unexpectedly
Done

知道我做错了什么吗?

nfs0ujit

nfs0ujit1#

您需要git pull Horizon mastergit pull的第二个参数是可选的,默认为'HEAD'。错误是说在名为Horizon的远程分支中没有HEAD,这是完全可能的。但从您的命令中似乎您知道master分支确实存在。没有必要在远程分支名称周围使用引号,也没有必要在目标分支master前面使用':refs/remotes/Horizon/'前缀(尽管我已经检查过,但它是有效的)。
如果你是git新手,我建议你安装一个git GUI,比如GitExtensions,有很多many可供选择,这只是我个人推荐的一个。

brqmpdu1

brqmpdu12#

Horizon是你的遥控器吗?你可以用git remote -v来检查它,如果不是,你必须用git remote add ...把它添加到你的本地存储库中。参见关于git remote函数的文档。
你是如何创建本地存储库的?用git clone吗?如果你初始化本地存储库的方式和你初始化远程存储库的方式一样(在ubuntu上),你需要设置fetchpush的URL(设置远程存储库)。
在确保上述所有情况后,尝试用

git pull origin master

其中origin是遥控器的名称,如果将其设置为horizon,则应为

git pull horizon master

master是您正在处理的分支。
我没有看到像你那样指定分支的地方,你只需要指定远程名称和分支名称,剩下的就由git来解决了:)这就是它的美妙之处。

相关问题