2012-03-12 2 views
0

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

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 для слияния. Но когда я делаю это, иногда мои коммиты показывают сверху, иногда где-то еще, иногда вкрапленными, поэтому трудно понять, что я сделал. Я хочу знать, как использовать rebase в вышеупомянутом scanario, чтобы история моих коммитов показывалась сверху.

ответ

1

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

1

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

git rebase origin/develop

и в конце

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

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

+0

Я вообще не использую rebase, поэтому я не переустанавливаю удаленные коммиты! – umar

+0

Итак, в соответствии с вашим ответом, в моем рабочем процессе я заменяю все команды git-merge командами git-rebase, и это правда? – umar

+0

Сделайте копию своего проекта и попробуйте эти команды без 'git push'. В этом случае вы не испортите свой пульт. (Я всегда делаю это, если я пытаюсь использовать новые - возможно, разрушительные - функции.) Если вы пересобираете, ваша история будет более чистой, так как не будет коммитов Merge. И если вы пересобираете происхождение, вам не нужно проверять/вытягивать/выписывать/сливать. – Vili

Смежные вопросы