ssh和git从远程服务器拉

我试图从服务器1 ssh到服务器2,并执行从服务器1到服务器2的git pull

所以在服务器1上,我运行以下命令:

 ssh root@server2 'cd /root/.example; git pull origin master' 

但是这给了我这个错误:

 Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights 

它能够ssh,因为当我做了ls( ssh root@server2 'cd /root/.example; ls )时,我看到了/root/.example目录的内容。 这只是不能做一个git pull origin master因为它使用了错误的关键。

我能做些什么不同?

我正在使用Centos 6。

你需要ssh给有权访问git仓库的用户。 如果你是root用户,确保root用户至less拥有repo的权限(如果你使用的是git的一些智能版本,比如gitolite,gitlab等等)。

顺便说一句,如果你想释放这个,使用git fetch && git reset --hard origin/master而不是git pull。 Git拉使合并,它可以结束冲突,GIT重置只是将实际的头指针移动到不同的提交,而不合并anythig。