└── readme.md /readme.md: -------------------------------------------------------------------------------- 1 | # Работа с удаленным репозиторием на виртуальном хостинге Timeweb 2 | 3 | Так как на тарифах виртуального хостинга Timeweb нет возможности добавить иной SSH-доступ, кроме основного, то работа в пределах такого тарифа возможна только под одним юзером. 4 | 5 | 1) Для начала необходимо включить SSH-доступ, для чего требуется привязка телефона с подтверждением SMS-кодом. 6 | 7 | 2) Заходим на сервер, где `` соответственно логин, а `` хост, который можно узнать в панели управления: 8 | ``` 9 | ssh @.timeweb.ru 10 | ``` 11 | 12 | 3) Заходим в папку проекта, для примера `my-site`, и инициализируем там репозиторий: 13 | ``` 14 | cd my-site 15 | git init 16 | ``` 17 | 18 | 4) Добавляем в конфиг свою почту и имя пользователя (если до этого не было): 19 | ``` 20 | git config --global user.name "John Doe" 21 | git config --global user.email johndoe@example.com 22 | ``` 23 | Посмотреть настройки можно командой: 24 | ``` 25 | git config --list 26 | ``` 27 | 28 | 5) Добавляем какой-нибудь файл, например `.gitignore`, коммитим: 29 | ``` 30 | git add . 31 | git commit -m "init" 32 | ``` 33 | 34 | 6) Создаем в корне папку `git` и переходим в нее: 35 | ``` 36 | cd ~ 37 | mkdir git 38 | cd git 39 | ``` 40 | 41 | 7) Тут инициализируем bare-репозиторий: 42 | ``` 43 | git clone --bare ../my-site my-site.git 44 | ``` 45 | 46 | 8) Возвращаемся в папку проекта и добавляем туда: 47 | ``` 48 | cd ~/my-site 49 | git remote add shared ../git/my-site.git 50 | 51 | ``` 52 | 53 | 9) Добавляем хук `post-update` в bare-репозиторий: 54 | ``` 55 | cd ~/git/my-site.git/hooks 56 | ``` 57 | С содержимым: 58 | ``` 59 | #!/bin/sh 60 | 61 | cd /home/u/user/my-site || exit 62 | unset GIT_DIR 63 | git pull shared master 64 | 65 | exec git-update-server-info 66 | ``` 67 | Где `/u/user/` - это первая буква логина и сам логин. Даем права на запуск: 68 | ``` 69 | chmod +x post-update 70 | ``` 71 | 72 | 10) Добавляем хук `post-commit` в репозиторий проекта: 73 | ``` 74 | cd ~/my-site/.git/hooks 75 | ``` 76 | С содержимым: 77 | ``` 78 | #!/bin/sh 79 | git push shared 80 | ``` 81 | Даем права на запуск: 82 | ``` 83 | chmod +x post-commit 84 | ``` 85 | 86 | 11) Возвращаемся в папку проекта: 87 | ``` 88 | cd ~/my-site 89 | ``` 90 | И пушимся: 91 | ``` 92 | git push --set-upstream shared master 93 | ``` 94 | 95 | 12) Локально добавляем удаленный репозиторий и обновляемся: 96 | ``` 97 | git remote add origin ssh://@.timeweb.ru/home///git/my-site.git 98 | git pull origin master 99 | ``` 100 | 101 | Примечание:
102 | в случае работы с IDE JetBrains PhpStorm/WebStorm достаточно:
103 | а) в стартовом окне выбрать Checkout from Version Control -> Git 104 |
105 | б) в произвольном открытом проекте в верхнем меню выбрать VCS -> Checkout from Version Control -> Git 106 |
107 | и в поле Git Repository URL ввести:
108 | ``` 109 | ssh://@.timeweb.ru/home///git/my-site.git 110 | ``` 111 | После запуска проекта пулить сразу уже не требуется.

112 | 113 | Работаем как и с обычным репозиторием. Конец, успех. 114 | 115 | --------------------------------------------------------------------------------