Я читал о том, как работают операции git merge и git rebase , и я думаю, что у меня есть базовое понимание различий.Я видел диаграммы :-) Несмотря на это, мне все еще не ясно, что будет лучшим из двух, чтобы использовать для моего текущего рабочего процесса.
Моя работа использует perce в качестве системы SCM, но я использую git локально, чтобы отслеживать локальные изменения, выполнять рефакторинг и кучу другихклассные вещи, которые мерзавец может принести на стол.Я знаю, что уже существует инструмент, помогающий объекту работать с git и performance (например, p4-git), но я не обязательно хочу / нуждаюсь в таких накладных расходах, поэтому я стараюсь сделать вещи максимально простыми.Вот краткое описание моего текущего рабочего процесса для создания локальных веток git и последующей интеграции обратно в наш основной депозитарий:
У меня есть master git branch, которая выполняет ночную синхронизацию p4 с нашей кодовой базой.После выполнения синхронизации я фиксирую все изменения в основной ветке.По сути, моя ветка git master по сути представляет собой снимок последнего кода, внесенного в нашу основную линию Perforce.
Для локальных изменений, над которыми я работаю, я всегдасначала создайте ветку git и извлеките эту ветку во время работы над изменением.
Время от времени я хочу обновить свою ветку до последней версии от master .До сих пор я только что выполнил команду git merge master , и она работала нормально.
Когда я готов принять обязательство по фактическому депо перфектов, я объединяю свою ветку с моей веткой master , проверяя master и выдачу git merge BRANCH , а затем отправку с использованием обычных команд перформанса
Учитывая мой рабочий процесс, действительно ли я должен использовать мастер git rebase команда для шага № 3 вместо git merge master ?Исходя из моего понимания команды rebase , это было бы необходимо только в том случае, если, скажем, наша основная линия исполнения (удаленный склад) была разветвлена, и я хотел создать новый master основываясь на этой ветке (скажем, я называю это master-newbranch) и применил мои изменения к этой новой ветке.Мне нужно было бы перебазировать с этой ветки первым?
В общем, имеет ли смысл мой текущий рабочий процесс, или я уже приобрел некоторые вредные привычки?