Хабрахабр

GIT поэма

В день рождения «солнца русской поэзии» представим, как выглядела бы его его сегодняшняя жизнь: система контроля версий стихов, цензор Бенкендорф как проджект-менеджер и горящие дедлайны.

image

Прибегает Бенкендорф.
— Слушай, Пушкин, у нас все сроки горят! Пушкин сидит, пишет стихи. Инвесторы спрашивают: где контент?
— Не, ну я так не могу! Надо релизиться. От меня требуют, я ничего поделать не могу. Бенкендорф, я тебе сколько раз говорил, что я так не могу.
— Александр! Что у тебя там?
— Вот… Давай релизиться.

Пушкин показывает две строфы и начало третьей.

Я помню чудное виденье:
Передо мной явилась ты,
Как мимолетное мгновенье,
Как гений белой красоты.

В томленьях грусти безнадежной
В тревогах шумной суеты,
Звучал мне долго голос снежный
И снились милые черты.

Бурь призыв сермяжный
Рассеял прежние мечты,
Тра-та-та-та нежный
Пурум-пум-пум черты. Та-та-та.

Выкладывай в проду первые две строфы.
— Но…
— Потом все «но». — Замечательно! Возвращает последнюю строфу и задумчиво смотрит вдаль, крутя гусиное перо в руках… Минут через 10 к нему приходит мысль, он откладывает перо и начинает стучать по клавишам. Нам надо показать контент!
Убегает.
Пушкин вздыхает, вырезает незаконченную строфу, делает git init, git add poem.txt, git commit и git push на сервер.

Смотреть

***

Через полчаса есть прогресс по третьей строфе.

Бурь призыв сермяжный
Рассеял прежние мечты,
Тра-та-та та-та нежный
И снились добрые черты. Тара-та.

В коридоре он натыкается на спешащего Бенкендорфа.
— Пушкин, что ты творишь! Пушкин встает и идет налить себе кофе. Баги? Там баги на продакшне!
— Да ладно! Не может быть.
— Сам посмотри.
Бенкендорф открывает ноут, показывает Пушкину что-то. У меня? Пушкин, забыв о кофе, идет к рабочему месту. Пушкин запускает руку в шевелюру и задумчиво ее чешет.
— Да, точняк, смотри ты… Но у меня счас в коде все недоделано… Я только начал думать о четвертой строфе… есть пара мыслишек, но не факт, что быстро имплементируется…
— Надо срочно пофиксить!
Бенкендорф убегает. Задумчиво смотрит на пустую кружку. Там делает git stash, правит «снежный» на «нежный», git commit, git push, git stash pop. В глазах у него — попытка сосредоточиться. Потом на потолок. Минут через пять ему это удается, и он начинает стучать по клавишам.

Смотреть

***

В руках у него ноут и бигмак, он жует на ходу.
На экране Пушкина недоделанная работа: Через полчаса прибегает Бенкендорф.

Бурь призыв сермяжный
Рассеял прежние мечты,
И я забыл твой голос нежный,
И снились добрые черты. Шли годы.

В глуши, во мраке трам-та-та-там
Тянулись тихо дни мои
Без трам-та-там, без пам-па-ра-рам,
Без слез, без жизни, без та-там.

Тут инвесторы посмотрели контент, все хорошо, но нужны копирайты и название.
Пушкин в сторону:
— Мля…
Бенкендорф, жуя бигмак, таращит глаза.
— Ну, Пушкин, ну, в последний раз! — Слушай, Пушкин! Немного подумав, называет стихотворение «К***».
— Потом придумаю!.. Чтоб мне сдохнуть!
Пушкин вздыхает, опять делает git stash, добавляет строку копирайта. Бенкендорф все это время стоит сзади и сосредоточенно жует бигмак.
Пушкин:
— Сделал, видишь! — шепчет он себе под нос.
Git commit, git push. Правок больше не будет? Так устраивает? — заверяет Бенкендорф. Дайте поработать спокойно!
— Не будет, чтоб мне провалиться на этом месте! — и убегает, роняя крошки.
Пушкин смотрит в монитор.
— Чтоб тебе пусто было, манагер эффективный!
Он делает git branch develop, git stash pop, git commit. — Спасибо, я твой должник! Потом начинает ожесточенно стучать по клавиатуре. Глянув на пустую кружку, надевает наушники и минут 10 сидит, качая головой в такт музыке.

Смотреть

***

В руках у него какая-то распечатка. Через полчаса прибегает Бенкендорф. На экране ноута Пушкина муки творчества:

В глуши, во мраке трам-та-та-там
Тянулись тихо дни мои
Без трам-та-там, без сожаления,
Без слез, без жизни, без любви.

Все хорошо, всё всем нравится, но инвесторы, сам понимаешь… Короче, первая строфа не катит.
— Что?! Бенкендорф приподнимает наушники с головы Пушкина.
— Пушкин, слушай! С меня пузырь!
— Ну как я это переделаю? — Пушкин срывает наушники и разворачивается к Бенкендорфу.
— Ну, не очень… Говорят, неудобно читать, «мимолетное мгновенье» как-то глаз режет… Можешь переделать? У меня весь код в разобранном состоянии, тесты не проходят вообще!
— Ну, миленький, ну, придумай что-нить!
Пушкин делает git commit, git checkout master, задумчиво ковыряет пером в ухе, потом меняет местами «виденье» и «мгновенье».
— Так пойдет?
— Во! Как? — Бенкендорф убегает.
Пушкин провожает его недобрым взглядом, делает git commit, git push, git checkout develop. То что нужно, ништяк, релизь! Минут через десять его осеняет, он берется за клавиатуру. Водит пером над незакоммиченными изменениями, задумчиво постукивает по пустой кружке из-под кофе.

Смотреть

***

Он молча подходит к Пушкину и останавливается.
— Что опять? Через полчаса прибегает Бенкендорф. На экране кипит работа: — Пушкин откладывает перо и нервно стучит пальцами по столу.
— Да ничего, просто пришел посмотреть: готова ли новая версия?
Пушкин закатывает глаза и протяжно вздыхает.

В глуши, во мраке заточенья
Тянулись тихо дни мои
Без божества, без вдохновенья,
Без слез, без злобы, без любви.

Душе настало пум-пурум-пум:
И вот опять явилась ты,
Как пум-пурам-пам виденье,
Как трам-тарам-там-там парам.

— Есть пара строк, вроде ничего… Ну и пятая строфа вроде наклевывается… надо продумать связку с другими компонентами, потому что…
— Отлично! — Ну, как сказать… — Пушкин теребит перо. Инвесторам понравилось, хотят еще транш нам дать, но просят показать прогресс, понимаешь?
— Нет.
— Слушай, чувак, они нам деньги платят, понимаешь. — перебивает его Бенкендорф — Можешь на проду выкатить? Денег не будет — разгонят всех к чертям собачьим. Мы тут не просто так сидим, не ради собственного удовольствия. Выкатывай, надо прогресс светить. Не попишешь свои стишата тогда. — Пушкин надевает наушники и демонстративно молча смотрит в моник. И да, бага опять есть — вот тут запятой не хватает.
— Как вы все меня! Вздыхает, берет кружку и идет за кофе. Бенкендорф похлопывает его по плечу и уходит.
Пушкин вырезает недоделанную строфу, делает git commit, возвращает строфу, делает git stash, git checkout master, правит запятую, git commit, делает git merge develop, git push, git checkout develop, git stash pop.

Смотреть

***

Пушкин делает вид, что его не замечает. Через полчаса — Пушкин в наушниках за компом — прибегает Бенкендорф.

Душе настало пробужденье:
И вот опять явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.

И сердце бьется тум-турум-тум,
И для него там пам-парам
И там-тарам, и пум-пурум-пум,
И жизнь, и слезы, и любовь.

Пришел фидбек от заказчика. Бенкендорф внаглую подходит к Пушкину и кладет на стол распечатку.
— Вот. Снимает наушники.
— Вот этого я вообще не понимаю. Нужны правки.
Пушкин тоскливо смотрит на лист, на котором много букв и смайлики в конце. Чем им эти не понравились? Зачем им другие эпитеты? За тебя уже все подумали. Я в шоке, бывают же на свете…
— Слушай, не умничай. Так надо, понимаешь? Меняешь эпитеты, и все довольны. — Пушкин допивает остатки кофе. Я не могу тебе рассказать всей кухни, но генеральный взял это на контроль.
— Вот заразы, поработать не дают. Но без тестов! — Хорошо, будут вам правки. — Бенкендорф убегает.
Пушкин делает git commit, git checkout master, пододвигает лист с правками, правит код, иногда возводя глаза в потолок и что-то шепча себе под нос, потом git commit, git push, git checkout develop. Я такую хрень даже тестировать не буду.
— Вот и чудненько, договорились! Сжав зубы, нервно правит текст, коммитит, постоянно что-то бормоча себе под нос.

Смотреть

***

Глаза его красны, волосы взъерошены. Через три часа Пушкин откидывается на спинку стула. Пушкин любовно его осматривает, добавляет пару пробелов в одном месте и удаляет в другом. На экране готовое стихотворение. Оглядывается: за окном уже ночь. Git commit. Да, это я, привет. Берет телефон, набирает номер.
— Бенкендорф! Просыпайся давай!.. Готово… Что значит спишь? Ну, я не знаю, инвесторы с заказчиками играют в покер на нашем сайте, маркетологи запустили рекламу, и куча пользователей жаждут отдать нам свои деньги… Нет? Скажи, могу я зарелизить?.. Тогда я выкладываю на проду… Да, отвечаю… Да, ничего не случится!.. Отлично! Откидывается на спинку кресла. Да, под мою ответственность… Да, договорились… Адью!
Пушкин делает git checkout master, git merge develop, git push. Пушкин потягивается с хрустом и встает. За окном шумит ночной город. В офисе гаснет свет, все погружается в полутень, и только экран светится. Он кладет в рюкзак перо и наушники, надевает шапку-растаманку на свои непослушные волосы, выходит из комнаты. На нем видно дерево коммитов и прекрасное стихотворение.

К***

Я помню чудное мгновенье:
Передо мной явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.

В томленьях грусти безнадежной,
В тревогах шумной суеты
Звучал мне долго голос нежный
И снились милые черты.

Бурь порыв мятежный
Рассеял прежние мечты,
И я забыл твой голос нежный,
Твои небесные черты. Шли годы.

В глуши, во мраке заточенья
Тянулись тихо дни мои
Без божества, без вдохновенья,
Без слез, без жизни, без любви.

Душе настало пробужденье:
И вот опять явилась ты,
Как мимолетное виденье,
Как гений чистой красоты.

И сердце бьется в упоенье,
И для него воскресли вновь
И божество, и вдохновенье,
И жизнь, и слезы, и любовь.

1825 год

goo.gl/P8iuog

От составителя

Автор размышлял как простым языком, без программирования, рассказать про ветвление в GIT и зачем оно нужно. Текст появился в процессе подготовки онлайн-курса «Python с нуля». Все события и персонажи вымышлены, любые совпадения случайны.
Потом досняли видео-скринкасты и наложили музыку Фредерика Шопена.

image

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть