2016-12-14 17 views
0

Добрый день,Как вытащить изменения на удаленном клоном

На удаленном сервере у меня есть:

  1. хранилище /git/project.git
  2. клон/индивидуальный/пользователь/проект/WWW (удаленный удален)
  3. клон/альфа/проект/WWW (пульт дистанционного управления установлен)
  4. клон/стабильный/проект/WWW (пульт дистанционного управления установлен)

На локальной машине:

  1. клона MAMP/HTDOCS/проект (удаленный установлен)

Я использую подключение SFTP к/человек/пользователь/проект, чтобы увидеть изменения в режиме реального времени и слияние данных от/человека/пользователя/проекта/альфа/проект/и после тестирования на/стабильный/проект/

Вопрос:

  1. , как я могу с помощью фиксации + толчок от локальной машины автообновления/альфа/проект /, а затем, если все мелкие изменения на вытягивание/стабильный/проект/
  2. , как я могу использовать специальные отделения для автоматического обновления определенных удаленных папок, например:
    1. путем фиксации + толчок альфа ветвь автообновления/альфа/проект/
    2. путем фиксации + толчок стабильной ветви автообновления/стабильный/проект/
  3. как я могу тянуть изменения для/стабильный/проекта/от моего местная машина

P.S. с помощью терминала, SourceTree, PhpStorm, gitolite
красный Pro Git 1st Edition & Pro Git 2nd Edition

+0

Привет, вы получили ответ, что хотите? Если да, отметьте это. Это поможет другим, у кого есть подобные вопросы. –

+0

Решение с помощью _hooks/post-receive

+0

Каковы ваши шаги и сообщения об ошибках (если есть)? Вы клонируете отдельные, альфа-и стабильные репозитории на свой удаленный сервер. Означает ли это, что реальные удаленные репозитории для отдельных, альфа и конюшни не расположены на вашем удаленном сервере? Если это так, вы можете клонировать свою локальную машину, тогда все просто меняется. И вы не можете тянуть или нажимать изменения для этих трех репозиториев. –

ответ

1

Это действительно можно вытащить из локального сервера репо/мерзавца на удаленный сервер. Самое главное, вам нужно создать голый репо на удаленном сервере git init --bare.

Более подробно шаги см git clone from local to remote

Вы можете добавить удаленный к локальной машине, как показано ниже:

git remote add ind <URL for individual/project> 
git remote add alpha <URL for alpha> 
git remote add stable <URL for stable> 

Затем вы можете зафиксировать ваши локальные изменения, git commit -am 'message'

Push-локальных изменений в индивидуальные , альфа и стабильный на git push ind && git push alpha && git push stable

Если вы хотите вытащить изменения в loca l, вы можете сначала проверить, имеет ли он ветвь удаленного отслеживания на git branch -a. Например, если он содержит список stable/master, поэтому вы можете напрямую переключиться на него на git checkout stable/master.

Если вы хотите, чтобы авто нажали на другое репо, обратитесь к here.

+0

извините за задержку, но я больше говорю о крючках, я думаю. В ссылке вы предоставили некоторую информацию, но этого недостаточно. Я хочу нажать изменения в ветке alpha, а затем автоматически обновить клон на другом сервере, чтобы увидеть изменения в режиме реального времени, введя www.test.project.tld, если все в порядке, я сливаю альфу со стабильностью и после фиксации + push hooks обновляет стабильный клон а затем мы увидим chages на www.project.tld –

+0

. Мне кажется, мне нужен хороший преподаватель или документация о крючках и пример, если есть доступность для использования ssh в записях или php-вызовах или для автоматизации «pull» на разных машинах –