Показать сообщение отдельно
  #23 (permalink)  
Старый 20.10.2012, 23:41
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от 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. Не могли бы вы обьяснить простым языком, зачем она нужна?
Выдергивает коммит из ветки, путем создания нового коммита (патч)

Последний раз редактировалось monolithed, 21.10.2012 в 13:12.
Ответить с цитированием