2013-09-25 3 views
4

Я часто использую git в демонстрационных сессиях, чтобы показать пошаговую разработку программного обеспечения. До сих пор я определял теги для этапов развития, и я использовал для проверки переход от одного шага к другому. Но это не очень хорошая идея: иногда я хочу обновить определенные шаги, и переход от тега к другому не всегда интуитивно понятен.Git для сессионных демонстраций

Я нашел несколько интересных способов попытаться улучшить ситуацию. В https://coderwall.com/p/ok-iyg, следующие и предыдущие псевдонимы определены для облегчения навигации между этапами, но эти псевдонимы определены в коммитах, что не решает проблемы шагов обновления. На этапе http://www.damirscorner.com/UsingGitInSessionDemos.aspx этапы основаны на ветках, которые, я думаю, являются лучшим решением для обновления. В этом контексте можно переопределить команды типа next и prev, возможно, используя соглашение об именах для ветвей (например, step1, step2 ...).

Но для того, чтобы получить полностью функциональные элементы управления, в идеале можно добавить некоторые операции, такие как: возможность внесения поправки в ветвь и слияние с одной или несколькими другими ветвями (предыдущими или последующими) или проверьте перед тем, как оставить шаг, чтобы рабочий каталог был чистым, с предложением либо очистить, либо зафиксировать.

Знаете ли вы, что в этом духе используется расширение/рабочий процесс/прецедент, который может помочь мне быстрее достичь среды, которую я хочу?

Заранее благодарен!

ответ

0

Одно довольно простое решение было бы создать эти два псевдонима (предполагается, что в Никс среде *):

git config alias.prev prev`git branch | grep '\*' | cut -d' ' -f2` 
git config alias.next next`git branch | grep '\*' | cut -d' ' -f2` 

Те рассосется в:

git prevbranch 
git nextbranch 

... где branch это имя текущей ветви - например если вы находитесь на ветке master и звоните git next, он разрешит и запустит git nextmaster. Затем вы можете просто сделать репо-локальные псевдонимы с именами prev/next.

Если вы хотите git next принять вас от step1 к step2 и git prev принять вас от step2 до step1, а затем сделать эти псевдонимы:

git config alias.nextstep1 'checkout step2' 
git config alias.prevstep2 'checkout step1' 

Это превращает вещи в мерзавца, как система слабо связан узлы, подключенные только по названным ссылкам, которые легко редактируются в .git/config в разделе [alias], готовые к использованию в любой среде и содержащиеся в файлах самого репо.

Обратите внимание, что конфигурационный файл не перемещается с РЕПО (т.е. при клонировании, извлечение, толкая или потянув), так что вам нужно, чтобы принести папку .git с вами, или по крайней мере .git/config файл, или просто римейк эти псевдонимы, где бы вы ни находились.

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