Я хотел бы использовать git rebase
, чтобы аккуратно объединить функцию в основной ветке (с меньшим количеством коммитов или, по крайней мере, в верхней части журнала изменений). Обратите внимание, что над репозиторием работаю только я.
Прочитав вопросы о рабочем процессе Git и перебазировании и слиянии, я обнаружил, что git rebase
будет быть довольно милым и, как Мика, я хотел бы git push
перебазировать изменения просто потому, что я работаю над ними из разных мест (например, с моего ноутбука, моего дома, другого компьютера где-то...)
Итак, вот два решения (для двунаправленного уродливого слияния):
- Использование
git push -f
для отправки, а затем извлечения на другую машину, но как чисто получить последнюю версию на других машинах? - Использование слияния для слияния основных изменений в ветке функций, git push/pull, а после завершения выполнения одной перебазировки (чисто в одном или нескольких коммитах)
(2) будет выглядеть следующим образом:
git co -b feature-a
... change files
git push origin feature-a
... moving to another PC
git pull origin feature-a
... change files
git merge master
... change files (not the "special rebase")
git rebase master
git co master
git merge feature-a
git branch -d feature-a
git push origin :feature-a
Как вы думаете, какое решение будет работать? Я пока не пробовал ни один из них (в основном из-за боязни сделать мой журнал более грязным).