Git Product home page Git Product logo

git-and-timeweb's Introduction

Работа с удаленным репозиторием на виртуальном хостинге Timeweb

Так как на тарифах виртуального хостинга Timeweb нет возможности добавить иной SSH-доступ, кроме основного, то работа в пределах такого тарифа возможна только под одним юзером.

  1. Для начала необходимо включить SSH-доступ, для чего требуется привязка телефона с подтверждением SMS-кодом.

  2. Заходим на сервер, где <user> соответственно логин, а <server> хост, который можно узнать в панели управления:

ssh <user>@<server>.timeweb.ru
  1. Заходим в папку проекта, для примера my-site, и инициализируем там репозиторий:
cd my-site
git init
  1. Добавляем в конфиг свою почту и имя пользователя (если до этого не было):
git config --global user.name "John Doe"
git config --global user.email [email protected]

Посмотреть настройки можно командой:

git config --list
  1. Добавляем какой-нибудь файл, например .gitignore, коммитим:
git add .
git commit -m "init"
  1. Создаем в корне папку git и переходим в нее:
cd ~
mkdir git
cd git
  1. Тут инициализируем bare-репозиторий:
git clone --bare ../my-site my-site.git
  1. Возвращаемся в папку проекта и добавляем туда:
cd ~/my-site
git remote add shared ../git/my-site.git

  1. Добавляем хук 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
  1. Добавляем хук post-commit в репозиторий проекта:
cd ~/my-site/.git/hooks

С содержимым:

#!/bin/sh
git push shared

Даем права на запуск:

chmod +x post-commit
  1. Возвращаемся в папку проекта:
cd ~/my-site

И пушимся:

git push --set-upstream shared master
  1. Локально добавляем удаленный репозиторий и обновляемся:
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

После запуска проекта пулить сразу уже не требуется.

Работаем как и с обычным репозиторием. Конец, успех.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.