Эта операция делается один раз, далее можно заводить сколько угодно репозиториев и пользоваться одним ключом для всех.
Открываем документацию таймвеб (http://timeweb.com/ru/community/articles/kak-nastroit-ssh-klyuchi-i-kodovuyu-frazu-dlya-servera-1) и делаем всё как там написано, четвёртый шаг выполнять необязательно.
После этого выполните команду
git config receive.denyCurrentBranch ignore |
Следующий шаг - открываем статью по настройке гит: (https://github.com/eveness/git-and-timeweb) и пошагово выполяем все действия из этой статьи.
На всякий случай:
Так как на тарифах виртуального хостинга Timeweb нет возможности добавить иной SSH-доступ, кроме основного, то работа в пределах такого тарифа возможна только под одним юзером. Для начала необходимо включить SSH-доступ, для чего требуется привязка телефона с подтверждением SMS-кодом. Заходим на сервер, где <user> соответственно логин, а <server> хост, который можно узнать в панели управления: ssh <user>@<server>.timeweb.ru Заходим в папку проекта, для примера my-site, и инициализируем там репозиторий: cd my-site git init Добавляем в конфиг свою почту и имя пользователя (если до этого не было): git config --global user.name "John Doe" git config --global user.email johndoe@example.com Посмотреть настройки можно командой: git config --list Добавляем какой-нибудь файл, например .gitignore, коммитим: git add . git commit -m "init" Создаем в корне папку git и переходим в нее: cd ~ mkdir git cd git Тут инициализируем bare-репозиторий: git clone --bare ../my-site my-site.git Возвращаемся в папку проекта и добавляем туда: cd ~/my-site git remote add shared ../git/my-site.git Добавляем хук post-update в bare-репозиторий: cd ~/git/my-site.git/hooks С содержимым: #!/bin/sh cd /home/u/user/my-site || exit unset GIT_DIR git pull shared master exec git-update-server-info Где /u/user/ - это первая буква логина и сам логин. Даем права на запуск: chmod +x post-update Добавляем хук post-commit в репозиторий проекта: cd ~/my-site/.git/hooks С содержимым: #!/bin/sh git push shared Даем права на запуск: chmod +x post-commit Возвращаемся в папку проекта: cd ~/my-site И пушимся: git push --set-upstream shared master Локально добавлеям удаленный репозиторий и обновляемся: git remote add origin ssh://<user>@<server>.timeweb.ru/home/<u>/<user>/git/my-site.git git pull origin master Примечание: в случае работы с IDE JetBrains PhpStorm/WebStorm достаточно: а) в стартовом окне выбрать Checkout from Version Control -> Git б) в произвольном открытом проекте в верхнем меню выбрать VCS -> Checkout from Version Control -> Git и в поле Git Repository URL ввести: ssh://<user>@<server>.timeweb.ru/home/<u>/<user>/git/my-site.git После запуска проекта пулить сразу уже не требуется. Работаем как и с обычным репозиторием. Конец, успех. |
команду
git remote add origin ssh://<user>@<server>.timeweb.ru/home/<u>/<user>/git/my-site.git |
выполнить не получилось, вместо неё надо выполнить
git clone ssh://<user>@<server>.timeweb.ru/home/<u>/<user>/git/my-site.git |
git config --global user.name "John Doe" git config --global user.email johndoe@example.com |
Если хуки правим/создаём в редакторе под windows - то формат конца строки должен быть LF
В notepad++: Правка-Формат конца строк-Преобразовать в UNIX формат (LF) (Edit -> EOL Conversion -> Unix (LF))