README.md in abak-flow-0.1.1 vs README.md in abak-flow-0.1.2

- old
+ new

@@ -1,16 +1,16 @@ Abak-flow ========= Нет, это не новая идеология ведения проекта, это всего лишь набор утилит которые помогают связать использование git-flow и github # Концепция -Идеология git-flow использует слудующий набор веток: +Идеология git-flow использует следующий набор веток: * *master* - всегда пригодна для развертывания * *develop* - основная ветка разработки * *hotfix* - ветка для изменений которые попадут на продакшен сервер -* *feature* - ветки для крупных задачь +* *feature* - ветки для крупных задач Github-flow же наоборот ведет основную разработку в ветке master, но при этом master является пригодным для развертывания в любой момент. После долгих раздумий было принято применить следующий набор правил, для разработки на github: @@ -20,15 +20,73 @@ 4. Исправленные ошибки из ветки **hotfix** фофрмляются pull request только в ветку **master** 5. После получения исправлений на текущий момент в репозитории инициируется merge ветки **master** в **develop** # Установка -*в процессе* + $ gem install abak-flow + $ git config --global alias.request '!request' + $ git config --global github.user AwesomeCoder + $ git config --global github.token 0123456789yourf0123456789token + $ git remote add upstream git://github.com/anonimus/example.git + # С чего начать? - $ git request help + $ git request --help + # Примеры использования -*в процессе* +### Самый простой способ начать новую задачу: + + $ git checkout develop + $ git request feature + $ touch 'hello.txt' && echo 'Hello world!' > hello.txt + $ git commit -a -m 'Hello world commit' + $ git request publish + +Теперь то же самое, только словами: + +* Переключимся в ветку develop +* Abak-flow создаст ветку, пригодную для оформления pull request (правила именования и правила самого реквеста) +* Простое создание нового файла +* Git процедуры добавления своих изменений в репозиторий +* Затем публикация вашей ветки на вашем форке (если таковая уже есть, то просто обновление), затем оформление pull request из этой ветки в соответствующую правилам ветку на upstream (в данном случае это будет ветка develop) + +Для задач, которые должны быть выполнены в виде hotfix принцип тот же: + + $ git checkout master + $ git request hotfix + $ … + $ git request publish + +*На самом деле переключаться на master или develop в самом начале вовсе не обязательно, этот шаг был приведен для пущей ясности* + +### Обновление ветки на удаленном репозитории: + + $ git checkout feature/TASK-001 + $ git request update + +### Завершение текущей задачи: +Вообще, завершать задачу лучше только после того, как ваш pull request был принят. Почему? На самом деле по ряду причин. По умолчанию эта команда удаляет как вашу текущую ветку с задачей в локальном репозитории и в добавок ко всему - на вашем удаленном репозитории (форке) + + $ git co feature/TASK-001 + $ git request done + +Чтобы оставить какую либо ветку в живых возможно напрямую указать, какую копию ветки **удалить**, локальную или же удаленную (на origin) + + $ git co feature/TASK-001 + $ git request done --origin + +Или же так + + $ git co feature/TASK-001 + $ git request done --local + +### Маленькие хитрости +Если сразу правильно именовать ветки, т.е ветку с задачей создавать с именем, такого формата TASK-001, то, в описание pull request автоматически вставится ссылка на задачу в jira + +### А помощь? +Многие команды имеют какие-то дополнительные опции. Но они нужны только в экзотических случаях. Но при любом раскладе подсказку и тонкий намек всегда можно получить воспользовавших такой командой: + + $ git request done --help # В заключении Данный репозиторий и изложенные в нем идеи ни в коем случае не претендуют на идеал и совершенство. Это всего лишь узко заточенная комбинация гемов \ No newline at end of file