Рабочий процесс с Git и удаленным сервером

Я хочу улучшить наш рабочий процесс с помощью Git и наших серверов разработки.

Мы настроили его так, чтобы в дополнение к нашему производственному и промежуточному серверу каждый разработчик обычно запускал свою собственную локальную виртуальную машину. Мы также храним наш код в репозитории GitLab.

Среди разработчиков есть два основных способа передачи нашего кода на сервер: - Отправить в GitLab, затем получить с локального сервера - Запустить демон на локальной виртуальной машине, а затем отправить прямо на него.

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

Однако, насколько я понимаю, после того, как вы нажали на удаленный сервер (например, GitLab), ребазинг очень сложен и непрактичен.

Есть ли рабочий процесс, в котором мы можем легко размещать файлы на нашем сервере через репозиторий, но при этом сохранять средства для перебазирования без создания множества головных болей?

Спасибо.


person samanime    schedule 09.02.2015    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что, хотя он относится к инструменту кодирования, это не конкретный вопрос кода, как указано в часто задаваемых вопросах, а общее обсуждение передовой практики.   -  person Seki    schedule 10.02.2015
comment
@Seki Я попытался переработать вопрос, чтобы сделать его немного более конкретным, поскольку я ищу конкретный ответ на конкретную проблему.   -  person samanime    schedule 10.02.2015


Ответы (1)


Вы можете использовать функцию коммитов Squash при создании Merge-Request. Сжатие коммитов из Merge Request означает сжатие всех коммитов в этом запросе только в один коммит.

введите описание изображения здесь

Если вы не хотите использовать для этого интерфейс GitLab:

# If you want to merge my-feature-branch to master
git checkout master
git merge --squash my-feature-branch
person vinzee    schedule 02.11.2020