как использовать git rebase более эффективно в следующем сценарии - PullRequest
0 голосов
/ 12 марта 2012

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

git checkout -b feature_name

Затем создаю для нее ветку удаленного отслеживания с:

git push -u origin feature_name

Затем я продолжаю коммититьв этой ветке, и иногда я объединяюсь с разработкой с этим:

git checkout develop; git pull; git checkout feature_branch; git merge develop

, чтобы ветвь постоянно обновлялась из ветви разработки.

Когда я закончу, я объединяю эту ветку вразверните и нажмите:

git checkout develop; git pull; git merge feature_branch; git push

Для слияния используется стратегия git pull.Но когда я делаю вышеизложенное, иногда мои коммиты показываются сверху, иногда где-то еще, иногда перемежаются, поэтому трудно понять, что я сделал.Я хочу знать, как использовать rebase в вышеупомянутом сканарио, чтобы история моих коммитов отображалась сверху.

Ответы [ 2 ]

1 голос
/ 12 марта 2012

В третьей строке измените рабочий процесс на

git rebase origin/develop

и в конце

git checkout develop; git pull; git rebase feature_branch; git push;

Примечание: rebase будет работать без проблем, только если вы не перебазируете удаленные коммиты. Вы не хотите менять удаленную историю?

1 голос
/ 12 марта 2012

Просто измените git merge develop на git rebase develop.

...