У меня есть 2 машины, клиент и сервер. Я хочу отправлять git-репозитории с клиента на сервер, используя удаленную передачу. Я выполнил эти команды в следующем порядке на сервере:
mkdir /mnt && cd /mnt
mkdir test.git && cd test.git
sudo git init --bare
Я выполнил эти команды на клиенте:
mkdir /mnt && cd /mnt
mkdir test.git && cd test.git
sudo git init
sudo git remote add testy ssh://user@server/mnt/test.git
sudo vim testing.txt
sudo git add testing.txt
sudo git commit -m "testing"
sudo git push testy master
Это приводит к ошибке на клиентском компьютере: fatal: '/mnt/test.git' does not appear to be a git repository. fatal: The remote end hung up unexpectedly.
Есть несколько похожих вопросов, но ни один из них не решает мою проблему. Я пробовал их решения дословно, но безуспешно. Это не дубликат, потому что эти ответы не решают проблему. Любые предложения, чтобы исправить эти проблемы?
:
делитель между хостом и путем вsudo git remote add testy ssh://user@server:/mnt/test.git
sudo
, эффективно нарушая все разрешения (и не замечая, потому что вы переопределяете их). вам следует только использованиеsudo
для команд, которые требуют специальных привилегий (например, создание каталога/mnt/test.git
); на самом деле, в вашем примере каждое использованиеsudo
является ненужным и, следовательно, скорее всего, плохо.sudo git remote add testy ssh://user@server:/mnt/test.git
я получаю ошибку:hostname server:: cannot be resolved
,Ответы:
Я бы догадался
user@server
не имеет права на чтение / запись / выполнение/mnt/test.git
:источник
chown
предоставить пользователю доступ к каталогу. Теперь я получаю:fatal: not a git repository (or any of the parent directories) : .git
Есть еще предложения?sudo chown -R user /mnt/test.git
,