我第一次尝试在 VPS 上设置 GIT,如下所示本教程.部分指令如下:
cd /var
mkdir repo && cd repo
mkdir site.git && cd site.git
git init --bare
但是,mkdir repo
我得到了cannot create directory ‘repo’: Permission denied
。我以具有 sudo 权限的用户身份登录 VPS。我如何找出问题的原因?我对此真的很陌生,所以不确定在这里要报告什么。
更新:sudo
通过添加命令解决上述问题后,我收到权限错误git push live master
:
Counting objects: 709, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (665/665), done.
Writing objects: 100% (709/709), 103.57 KiB | 0 bytes/s, done.
Total 709 (delta 368), reused 0 (delta 0)
remote: fatal: Unable to create temporary file '/var/repo/site.git/./objects/pack/tmp_pack_XXXXXX': Permission denied
error: unpack failed: index-pack abnormal exit
To ssh://username@VPS_IP_ADRES/var/repo/site.git
! [remote rejected] 3.7-advanced-testing -> 3.7-advanced-testing (unpacker error)
etc.
我确实跳过了本教程中的几个步骤,因为我已经在 Cloud9IDE(我用它来编写应用程序)中完全设置了 GIT。这有效,我可以推送到 Heroku,我现在正试图用 VPS 替换它。因此,在 GIT 正常工作的情况下,我做了以下操作:我以超级用户身份登录 VPS,并执行了上述四个步骤。然后,在登录 Cloud9 时,我执行了git remote add live ssh://username@VPS_IP_ADRES/var/repo/site.git
。然后git push -u live --all
,这给了我上述错误。有人知道原因吗?
答案1
该教程假设您具有超级用户权限,因此只需sudo su
在开始运行命令之前使用,或sudo
在所有需要提升的命令之前插入。
答案2
您需要 root 权限,因此必须添加 sudo:
cd /var
sudo mkdir repo && cd repo
sudo mkdir site.git && cd site.git
sudo git init --bare