Сообщение от melky
|
разве не было бы легче просто вести изменения в свою ветку
|
До недавнего времени у меня была такая структура проекта:
master
workspace
Сейчас:
master
alpha
feature
Если мне нужно пофиксить какой-то баг или ввести новую фичу, то я создаю ветку feature-1 (постфикс инкрементируется), тестирую, если все гуд, то вливаю в alpha.
Когда протестирую в альфе, переношу в мастер и удаляю feature
alpha нужна потому, что параллельно может делаться несколько фич и если их сразу мерджить в мастер, то все может взорваться.
У меня стандартный workflow выглядит примерно так:
...
git checkout alpha
git checkout -b feature-8628
git pull origin alpha
...
git status
git commit -am 'feature-8628: description'
git push origin feature-8628
git log -p
git checkout alpha
...
git diff HEAD feature-8628
git merge origin/feature-8628
git status
git commit -a
git push origin alpha
git log --graph
git checkout master
git pull origin master
git merge alpha
git diff --staged
git commit -a
git branch -d feature-8628
git push origin master
git log --stat
PS: Для меня такая структура оптимальна, однако для многопользовательской работы над ответственным проектом не помешает еще одна промежуточная ветка test
Сообщение от melky
|
иметь track под рукой?
|
Причем тут трек?
Я лично использую JetBrains YourTrack, в котором и создаю таски
Сообщение от melky
|
... сколько бы я ни читал, всё равно не могу понять работу cherry-pick. Не могли бы вы обьяснить простым языком, зачем она нужна?
|
Выдергивает коммит из ветки, путем создания нового коммита (патч)