metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2013-07-13 02:16 pm

git: что я делаю не так?

В процессе разработки с использованием git возник странный противоестественный способ им пользоваться:
1) Есть основная ветка
2) Есть моя ветка, где я делаю фичу и которая уйдет в итоге в основную
3) Есть моя экспериментальная, где творится ад и израиль.

В итоге получается, что я в свою чистую ветку вытаскиваю git cherry-pick, условно говоря, "каждый второй" коммит из экспериментальной, чтобы в чистой был порядок и чтобы в основную не попал экспериментальный бред. Но получается что вместо нормальных веток я использую какой-то закат солнца вручную.

[identity profile] theiced.livejournal.com 2013-07-13 11:32 am (UTC)(link)
го к нам хипстерить веп!

[identity profile] avnik.livejournal.com 2013-07-13 11:41 am (UTC)(link)
а мы думали что ты скажешь что и гит говно

[identity profile] theiced.livejournal.com 2013-07-13 11:42 am (UTC)(link)
это и так все знают

[identity profile] avnik.livejournal.com 2013-07-13 11:47 am (UTC)(link)
Щас айсед расскажет, что только цвс кошерен

[identity profile] theiced.livejournal.com 2013-07-13 11:55 am (UTC)(link)
обратись к психиатру, у тебя видения какие то - стрёмные и тупые

[identity profile] ykaliuta.livejournal.com 2013-07-13 11:56 am (UTC)(link)
Только одна эксперементальная? ;)
После разработки патчсет для отдачи в основную всё равно переупорядочивать как правило надо. Есть средства, типа autosquash в rebase для некоторого облегчения.

[identity profile] mipa.livejournal.com 2013-07-13 12:04 pm (UTC)(link)
Вот что маркетинг животворящий делает!

Хуиту, разработанную суперботаном для разработки ядра, при помощи котиков распиарили, как general purpose. Теперь всем, конечно, стыдно: ну как же, миллиарды же юзеров, ну что мы, тупые штоле.

[identity profile] theiced.livejournal.com 2013-07-13 12:06 pm (UTC)(link)
идиотом только и по причине NIH

[identity profile] metaclass.livejournal.com 2013-07-13 12:17 pm (UTC)(link)
Я боюсь признаваться, сколько там экспериментальных :)
Я уже хочу перетащить всю работу на гит - он заметно удобнее всего остального, но буквально за пару дней можно в порядке экспериментов превратить репу в тыкву с ветками :)

[identity profile] w00dy.livejournal.com 2013-07-13 12:18 pm (UTC)(link)
и в чём тут преймущество git над svn? ;)

[identity profile] metaclass.livejournal.com 2013-07-13 12:18 pm (UTC)(link)
Так внезапно оказалось очень удобно.
Мой стиль разработки с N рабочих мест, постоянными экспериментами и выкладыванием в главную ветку на общее обозрение красивого результата полностью укладывается в идеологию гита

[identity profile] metaclass.livejournal.com 2013-07-13 12:22 pm (UTC)(link)
Я вообще не знаю, как в svn что-то делать, если у меня два репозитория и 6 рабочих копий на разных машинах.

[identity profile] w00dy.livejournal.com 2013-07-13 12:26 pm (UTC)(link)
а в чём проблема? два репо это два бранча из транка. А working copy это working copy, обычный checkout. Я просто понимаю смысл в dvcs когда у тебя стомульйонов разрабов. Для каждого бранчи заводить задолбёшся. Но когда макс 10 человек - какая-то йобля получается без ощутимых преймуществ.

[identity profile] osdm.livejournal.com 2013-07-13 01:52 pm (UTC)(link)
А почему Git, а не Mercurial? И почему на каждый эксперимент не делать свою собственную ветку, они же дешевые? Тогда успешные эксперименты мержим, а не успешные - закрываем.

[personal profile] ex0_planet 2013-07-13 02:04 pm (UTC)(link)
там выше уже посоветовали: rebase, можно даже интерактивный, можно даже с последующим редактированием коммитов.

я вообще некоторые мелкие эксперименты в stash держу.

[identity profile] hshhhhh.livejournal.com 2013-07-13 02:06 pm (UTC)(link)
А чем разработка ядра отличается от другой разработки?

[identity profile] avnik.livejournal.com 2013-07-13 02:07 pm (UTC)(link)
Я экспериментальные ветки тупо удаляю после влития в мастер+какого-то периода времени

[identity profile] avnik.livejournal.com 2013-07-13 02:08 pm (UTC)(link)
А что же по вашему general purpose тогда?
develop7: (dero)

[personal profile] develop7 2013-07-13 02:09 pm (UTC)(link)
Вы придуриваетесь или правда не в курсе, что Git — не единственная DVCS во вселенной?

[identity profile] avnik.livejournal.com 2013-07-13 02:15 pm (UTC)(link)
придуриваюсь
С другой стороны из всего dvcs гит наименее говно.
Относительно юзабелен hg, но там гидра и вместо ребейса что-то странное. И он тормозной

[identity profile] nivanych.livejournal.com 2013-07-13 02:21 pm (UTC)(link)
Этот стиль полностью укладывается и в идеологию mercurial.
develop7: (dero)

[personal profile] develop7 2013-07-13 02:22 pm (UTC)(link)
Ребе, зачем вам это наркоманское поделие, если описанное вами реализуется штатными средствами Mercurial?

[identity profile] metaclass.livejournal.com 2013-07-13 04:02 pm (UTC)(link)
у зогазчеков гит. Меркуриал на другой работе. Пока гит кажется более марсианским по командам, но более подходящим под мой стиль работы.
develop7: (Default)

[personal profile] develop7 2013-07-13 04:12 pm (UTC)(link)
из всего dvcs гит наименее говно
Диверсия и троллинг, вроде C++.
там гидра
Везде гидра. Rebase в зубы и вперёд.
вместо ребейса что-то странное
нормальный там rebase — ребейзить умеет. А git-rebase --interactive в histedit.
он тормозной
Если работать работу, а не коммиты в секунду замерять, незаметно.
develop7: (dero)

[personal profile] develop7 2013-07-13 04:13 pm (UTC)(link)
Я было подумал, что вы про ту, на которой hg.

[identity profile] blackyblack.livejournal.com 2013-07-13 04:18 pm (UTC)(link)
А чё не так то? Нормальный техпроцесс. Только экспериментальная ветка не обязательна - чисто для истории и на случай форсмажорного пиздеца.

[identity profile] guamoka.livejournal.com 2013-07-13 05:43 pm (UTC)(link)
Сколько постелей в борделе, однако!

[identity profile] thekirach.livejournal.com 2013-07-13 05:54 pm (UTC)(link)
http://nvie.com/posts/a-successful-git-branching-model/

[identity profile] d4s.livejournal.com 2013-07-13 06:39 pm (UTC)(link)
не, в свн все хорошо, пока сервер локальный и не настает время мержей.

[identity profile] gmax-lj.livejournal.com 2013-07-13 07:20 pm (UTC)(link)
вот чего советуют:
http://nvie.com/posts/a-successful-git-branching-model/

[identity profile] max630.livejournal.com 2013-07-13 08:43 pm (UTC)(link)
http://juick.com/max630/2113726

[identity profile] zamotivator.livejournal.com 2013-07-14 12:48 am (UTC)(link)
Зачем нужна (2)?
Работайте в (3).
А потом из (3) форкнете (2), и при помощи rebase отредактируете (2) в нужный вид.

[identity profile] http://users.livejournal.com/_apm_/ 2013-07-14 04:58 am (UTC)(link)
Было такое тоже. Само прошло, научился бранчить

[identity profile] veter-r-r.livejournal.com 2013-07-14 07:36 pm (UTC)(link)
тем что на каждый чих не лазает на сервер например. а то логи посмотреть занимает надцать минут

[identity profile] veter-r-r.livejournal.com 2013-07-14 07:36 pm (UTC)(link)
Вместо героина кокаин? :)

[identity profile] veter-r-r.livejournal.com 2013-07-14 07:38 pm (UTC)(link)
Под каждый эксперимент ветку. Благо в гите они дешевые.
Отучайтесь, ребе, от привычки свна, когда три ветки и не более.

В гите есть основная ветка, есть фиксированное количество релизных и бессчетное количество экспериментальных. И это нормально.

[identity profile] metaclass.livejournal.com 2013-07-14 07:46 pm (UTC)(link)
Я опасаюсь что от того количества экспериментальных, которые я за пару дней наделал, у меня в компе откроется портал в подземный мир и оттуда выедут псоглавцы на ездовых пауках и заберут меня к себе.

[identity profile] veter-r-r.livejournal.com 2013-07-14 07:49 pm (UTC)(link)
ребе, их потом можно удалять.

[identity profile] aamonster.livejournal.com 2013-07-14 08:38 pm (UTC)(link)
Ну как - преимущество... Просто после git или mercurial возврвщаться на svn не тянет совершенно. Хотя работать можно (впрочем, работать можно и с cvs, и даже с source safe).

[identity profile] dizel-by.livejournal.com 2013-07-14 09:01 pm (UTC)(link)
Псоглавцев — да, но пауки-то останутся!
develop7: (dero)

[personal profile] develop7 2013-07-15 09:13 am (UTC)(link)
А что именно вы хотели сказать этой некорректной аналогией?

[identity profile] veter-r-r.livejournal.com 2013-07-15 09:36 am (UTC)(link)
Что и то и другое является наркоманской технологией.
develop7: (dero)

[personal profile] develop7 2013-07-15 09:38 am (UTC)(link)
я начинаю понимать айседа

[identity profile] veter-r-r.livejournal.com 2013-07-15 09:49 am (UTC)(link)
Айсед подтвердит.

[identity profile] jek-hor.livejournal.com 2013-07-16 07:24 am (UTC)(link)
У меня обычно несколько штук экспериментальных в разных комбинациях коммитов. Потом всё трамбуется в нужное количество красивых коммитов с помощью rebase -i, мержится в "чистую" ветку и пушится. Очень удобно.
develop7: (dero)

[personal profile] develop7 2013-07-16 11:01 am (UTC)(link)
подтвердит — поговорим дальше.