我是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
知道我做错了什么吗?
2条答案
按热度按时间nfs0ujit1#
您需要
git pull Horizon master
。git pull
的第二个参数是可选的,默认为'HEAD'。错误是说在名为Horizon的远程分支中没有HEAD,这是完全可能的。但从您的命令中似乎您知道master分支确实存在。没有必要在远程分支名称周围使用引号,也没有必要在目标分支master前面使用':refs/remotes/Horizon/'前缀(尽管我已经检查过,但它是有效的)。如果你是git新手,我建议你安装一个git GUI,比如GitExtensions,有很多many可供选择,这只是我个人推荐的一个。
brqmpdu12#
Horizon
是你的遥控器吗?你可以用git remote -v
来检查它,如果不是,你必须用gitremote add ...
把它添加到你的本地存储库中。参见关于git remote
函数的文档。你是如何创建本地存储库的?用
git clone
吗?如果你初始化本地存储库的方式和你初始化远程存储库的方式一样(在ubuntu上),你需要设置fetch
和push
的URL(设置远程存储库)。在确保上述所有情况后,尝试用
其中
origin
是遥控器的名称,如果将其设置为horizon
,则应为master是您正在处理的分支。
我没有看到像你那样指定分支的地方,你只需要指定远程名称和分支名称,剩下的就由git来解决了:)这就是它的美妙之处。