使用ssh配置文件推送到git服务器
我有一个安装了git的AWS实例,在/var/repo/mysite.git中配置了一个repo,在/var/www/mysite.com中有一个工作目录 由于我的AWS实例不提供根ssh访问(并且ssh配置在不同的访问端口上),因此我还有一个~/.ssh/config文件,其中包含:使用ssh配置文件推送到git服务器,git,amazon-web-services,ssh,Git,Amazon Web Services,Ssh,我有一个安装了git的AWS实例,在/var/repo/mysite.git中配置了一个repo,在/var/www/mysite.com中有一个工作目录 由于我的AWS实例不提供根ssh访问(并且ssh配置在不同的访问端口上),因此我还有一个~/.ssh/config文件,其中包含: Host mysite.com HostName path-to-ec2.amazon.com User ubuntu Port 0000 IdentityFi
Host mysite.com
HostName path-to-ec2.amazon.com
User ubuntu
Port 0000
IdentityFile ~/.ssh/my-ec2-pem-file
我可以像这样ssh,没有问题:
ssh mysite.com
我可以像这样添加我的远程主机,没有问题:
git add remote mysite mysite.com:/var/repo/mysite.git
但是当我试着推的时候,我得到了一个错误
git push mysite master
错误:
错误:src refspec master与任何。
错误:无法将某些引用推送到“mysite.com:/var/repo/mysite.git”
我试过很多种,包括添加“ssh://user@…“带/不带用户”和“ssh://”。我尝试过改变回购的路径,等等
我似乎无法以任何方式推动回购协议。有人能帮我弄清楚吗 此错误消息表示您提供给push的引用列表(在本例中为分支)与本地存储库中的任何内容都不匹配。这可能是因为本地端不存在
master
分支。因此,似乎有几件事情出错了。。要么是我的远程回购没有正确配置以查看/var/www/。。。和/var/repos/。。。或者它没有被正确地设置为一个光秃秃的回购
现在我已经将repo和working dir都移动到了my/home/ubuntu目录中,并使用--bare标志设置repo,然后分别在repo/working目录上将./hooks/post-receive脚本设置为“checkout-f”
看来我现在已经开始跑步了 没有。。似乎是远程repo没有裸(我将在下面发布一个答案)的问题。如果您有本地
master
,请尝试git-push-mysite-u-master:refs/heads/master
。