metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-12-05 12:26 pm

Гит, zeromq и двойная бухгалтерия

Недавно [livejournal.com profile] vit_r писал про то, что гит не пригоден для промышленной разработки, т.к. позволяет вести "двойную бухгалтерию".
Насколько я понял, речь шла про то, что код на рабочем месте разработчика, код в мастере и код в релизе могут быть совершенно разными, причем инструментом это прямо рекомендуется. Ну, по крайней мере, именно это меня привлекает в гите - мне постоянно нужны экспериментальные ветки в стиле "сохранился, заглянул за угол, увидел что там босс-монстр, загрузился и пошел другим путем".

Внезапно, в процессе изучения ZeroMQ я наткнулся на прямую иллюстрацию такой двойной бухгалтерии.
Вот например, стабильная версия 4.0.5, исходники под винду: http://download.zeromq.org/zeromq-4.0.5.zip
Так вот, последние 230 коммитов в changelog этой версии напрочь отсутствуют в https://github.com/zeromq/libzmq
Более того, в этой репе существует сугубо две ветки и ни одного тэга.

Ну, то что мастер не собирается в 2010 студии из-за зависимости от крипто-либы sodium, а rc4.1.0 не собирается из-за отсутствующих файлов msbuild, это тащемта уже мелочи. Но по крайней мере, rc4.1.0 есть в гите.

[identity profile] metaclass.livejournal.com 2014-12-06 09:29 am (UTC)(link)
пуллреквест это гитхабовская содомия, нету такой терминологии в гите.

В норме, разработки ведутся в васиной и твоей ветке, периодически втаскивая мастер c merge или rebase.
По мере завершения работы и тестов, твою ветку либо главный, либо ты сам, если мелкая команда, пушишь в мастер, желательно через --ff-only

В общем, у меня с гитом проблем не было вообще, они могут быть, если его использовать как svn,

[identity profile] ykaliuta.livejournal.com 2014-12-07 02:15 pm (UTC)(link)
> пуллреквест это гитхабовская содомия, нету такой терминологии в гите.

man git-request-pull