Упростите процедуру Git - PullRequest
       3

Упростите процедуру Git

3 голосов
/ 22 октября 2011

Я использую Git для развертывания своих проектов в моей производственной системе. Я следую процедуре:

  • Первый раз, когда я клонирую репозиторий, внесу изменения в файл конфигурации (отличающийся на любом производственном сервере), а затем создаю ветку с именем "pro", которая хранит эти изменения. Производственный сервер всегда работает в ветке "pro".
  • Затем, когда есть изменения, и я хочу обновить свой сервер, я запускаю командный файл, который делает это (более или менее):

    git checkout master
    git pull
    git checkout pro
    git rebase master
    

Я уверен, что у git есть более простой способ сделать это, но я не знаю как (возможно, можно обновить одну ветку от другой). Это просто для любопытства и узнать больше о Git.

Ответы [ 2 ]

4 голосов
/ 22 октября 2011

Я бы порекомендовал другой метод, так как он не является общим для всех сред (dev, UAT, prod, ...).

Почему бы не использовать фильтр содержимого с:

  • версионным файлом конфигурации шаблона
  • несколькими значениями конфигурации (включая файл 'prod_values')
  • скрипт версии (называетсясценарий 'smudge'), способный распознавать среду выполнения (prod или not prod) и генерировать правильный (неверсионный) окончательный файл конфигурации

content filter driver

Вы бынажмите на пустое хранилище с post-receive ловушкой, проверяющей ваш проект в правильном производственном каталоге.

Поскольку в этом проекте объявлен фильтр содержимого, сценарий smudgeавтоматически (при оформлении заказа) создаст нужный файл конфигурации.

2 голосов
/ 22 октября 2011

Должно работать (на pro)

git fetch --all
git rebase origin/master

Однако я не вижу никаких проблем с 4-сторонним вкладышем;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...