Название: Система контроля версий Отправлено: qt_user от Ноябрь 28, 2011, 23:12 Доброго времени суток,
никогда не использовал системы контроля версий, но уже давно назревает чувство что это необходимо, особенно после того как по глупости снес 10 файлов, народ поделитесь идеей какая из СКВ будет наиболее проста и удобна новичку в этом деле, а то не хочется начинать с чего очень сложного и не перспективного. Спасибо Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 28, 2011, 23:14 Git или Mercurial.
По Git хорошая книжка http://progit.org/book/ru/ Название: Re: Система контроля версий Отправлено: qt_user от Ноябрь 28, 2011, 23:15 Git или Mercurial. ого, даже книжка есть, не ожидал, спасибо :)По Git хорошая книжка http://progit.org/book/ru/ Название: Re: Система контроля версий Отправлено: qt_user от Ноябрь 28, 2011, 23:19 Git или Mercurial. если брать тот же Git, какой гуй для нее лучше?По Git хорошая книжка http://progit.org/book/ru/ Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 28, 2011, 23:21 Какая ОС? Мне нравится гуй, который поставляется по-умолчанию, хоть он и на TK написан. Креатор понимает Git.
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 28, 2011, 23:24 Для личных целей - однозначно Git. Классная штука еще перфорс, но это уже к вопросам сети предприятия.
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 28, 2011, 23:24 SmartGit & SmartSVN - имхо, лучшие в своем роде. Для любителей встраивать в оболочку еще подойдет линейка Tourtoise
Название: Re: Система контроля версий Отправлено: qt_user от Ноябрь 28, 2011, 23:25 Какая ОС? Мне нравится гуй, который поставляется по-умолчанию, хоть он и на TK написан. Креатор понимает Git. ВиндаНазвание: Re: Система контроля версий Отправлено: cutwater от Ноябрь 29, 2011, 00:48 Какая ОС? Мне нравится гуй, который поставляется по-умолчанию, хоть он и на TK написан. Креатор понимает Git. ВиндаА вот это зря, это зря. Во-первых Git наиболее удобно использовать из консоли. Gui не даст всех возможностей консольного интерфейса. Во-вторых если консоль. то выкидывайте винду и пересаживайтесь на Linux (MacOS). Название: Re: Система контроля версий Отправлено: Даниил от Ноябрь 29, 2011, 05:26 Цитировать Во-вторых если консоль. то выкидывайте винду и пересаживайтесь на Linux (MacOS). Меня ОС из-за СКВ - выглядит подозрительно, не так-ли?Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 07:06 ??? спасибо, посмеялся ;D
Название: Re: Система контроля версий Отправлено: kamre от Ноябрь 29, 2011, 07:55 А вот это зря, это зря. Во-первых Git наиболее удобно использовать из консоли. Gui не даст всех возможностей консольного интерфейса. Вон люди на винде вполне нормально и без консоли git пользуют: http://www.rsdn.ru/article/tools/Git.xmlВо-вторых если консоль. то выкидывайте винду и пересаживайтесь на Linux (MacOS). Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 09:26 Не слушайте адептов Git. Это не самая удобная СКВ для новичков. Когда ваши глаза станут красными от миллиардов строк кода и сознание охватит собой добрую часть вселенной, тогда вы можете робко взглянуть на великое творение Линуса Торвальдса.
Для личных целей только Mercurial (Hg)! Mercurial - это отличная поддержка всех ОС, короткие, простые и запоминающиеся команды (в отличии от Git) и все прелести распределённой СКВ. А если вы одинокий гордый разработчик, прямолинейный и неторопливый, то вам и SVN (Subversion) вполне подойдёт. Цитировать ого, даже книжка есть, не ожидал, спасибо Книжки есть по всем известным СКВ. :)Mercurial: http://translated.by/you/distributed-revision-control-with-mercurial/trans/ SVN: http://svnbook.red-bean.com/ Итак, подведём итоги, ваш выбор: Mercurial + TortoiseHg (Вы прогрессивный малый, любящий всё новое и в то же время простое) OR SVN + TortoiseSVN (Вы консерватор, у вас есть борода и бабушкин свитер) TortoiseHg и TortoiseSVN - это графические клиенты, которые интегрируются с системой и предоставляют не всегда удобный, но всё же GUI для выполнения рутинных операций с СКВ. Ещё хочу пропиарить тут расширение для VisualStudio для работы с Mercurial, написанное моим коллегой. :) https://bitbucket.org/zzsergant/hgsccpackage/wiki/Home Это значительно круче чем VisualHg, которым вы, возможно, пользуетесь. :) Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 09:28 TortoiseGit похож на все остальное, так что не надо тут про сложность Git. :)
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 10:20 (http://dl.dropbox.com/u/15490650/Other/ap.gif) всегда удивляет решение рабочих задач путем "что моднее"
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 10:22 любопытная статистика: http://qa.debian.org/popcon-graph.php?packages=subversion+git+git-core+mercurial+bzr+&show_vote=on&want_legend=on&want_ticks=on&from_date=&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1
Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 11:26 (http://dl.dropbox.com/u/15490650/Other/ap.gif) всегда удивляет решение рабочих задач путем "что моднее" Ага, вон на дебианской статистике как за последнее время Git поднялся. Вот бы золото так росло, я бы уже миллионером был. :)А почему? А потому что модно! Github, социальный кодинг, все хвалят Git и т.п. Даже BitBucket за каким-то чёртом прикрутили Git. Для рабочих проектов я вообще Perforce использую и очень даже доволен. В локальной сети централизованность не напрягает и слияние веток там отлично работает в отличии от SVN. :) Название: Re: Система контроля версий Отправлено: cutwater от Ноябрь 29, 2011, 14:09 TortoiseGit может быть и ничего. Но он скрывает львиную долю возможностей нативного интерфейса. А так для повседневных задач хватает.
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 14:25 Для рабочих проектов я вообще Perforce использую и очень даже доволен. В локальной сети централизованность не напрягает и слияние веток там отлично работает в отличии от SVN. :) А перфорс - штука очень даже отличная. Вот только когда в рабочих проектах учавствует более, чем два человека, становится накладно крайне, особенно когда есть free альтернативы ничуть не хуже :) Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 18:39 Единственный плюс меркуриала - наличие гуев под виндой.
По сравнению с гитом либо что-то тупо не работает (ихний стэш), либо тупо не реализовано (не помню чтоб там были локальные ветки). Ну и для каждого чиха надо лезть в конфиг и включать нужный экстеншн. Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 19:47 Авварон
Слишком категорично и мксималистично, что в принципе ожидаемо слышать от сторонников Git. Ещё вспомните, что Hg на питоне написан и работает чуть медленнее чем Git. :) Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 19:57 Hg ни разу не юзал. Но гит однозначно лучше, чем SVN. Я свой выбор сделал. :)
Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 19:59 Но гит однозначно лучше, чем SVN. Ну с этим утверждением уж точно спорить будет только тролль. :)Название: Re: Система контроля версий Отправлено: Igors от Ноябрь 29, 2011, 20:28 Ладно, не выделывайтесь, объясните лучше мне, темному, "куда керосин заливать"
Есть серия проектов, от 2K файлов до 500. Разрабатываем на Mac, потом "переносим" на Вындоуз (век бы ее не видеть). Примерно 99% кода универсальна но оставшийся процент важен, напр UniversalProcess.h // этот хедер юзается универсальной частью UniversalProcesMac.cpp // реализация для Mac UniversalProcessPC.cpp // реализация для PC Ну я скачал Git, но не разобрался. Ота командная строка для меня всегда была преградой, в свое время не смог освоить command.com - ну туповат я здесь, что поделаешь. Вот если ассемблер (любой) это в кайф, а тут надо чего-то долбить как дятлу - и я теряюсь. Как юзать, с чего начать? Спасибо Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 20:35 git gui
gitk Мне этого гуя хватает с головой. Да, не красиво, зато удобно. Консоль нужна редко. Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 20:41 Ну с этим утверждением уж точно спорить будет только тролль. :) Нифига. Прямо сейчас работаем над проектом, который осознанно живет в трех SVN репозиториях, т.к. с Git'ом для него нужно иметься (и не все может). Igors, Поставь SmartGit, он бесплатный. Самый удобный клиент для гита под все ОС. Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 20:45 SVN vs. Git в плане "лучше" вообще сравнивать некорректно. Первая система - централизованная, вторая - распределенная, они имеют свои плюсы/минусы для конкретных ситуаций.
К примеру, если брать вопрос репозитория для арта (текстуры, игровые модели, звуки и т.п.) - то SVN гораздо лучше Git'а. Я посочувствую тому, кто собирается в Git'е запуллить себе такой репозиторий после хотя бы месяца работы команды. Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 21:01 ufna, для бинарных файлов обычно все SVN и используют, тут никто и не спорит. Но мы то о коде говорили. SVN достаточно сильно тормозит, уже это мешает с ним работать с большими репозиториями. Просто сравнивали скорость SVN и Perforce. SVN не подходит, если нужно создавать много веток, потом их сливать. Но для домашних проектов SVN вполне подходит.
Почему Git стал так популярен в последнее время? Во многом, потому что, изменяется стиль разработки, с распределённой системой проще работать большим командам. Github внёс свою немалую лепту в этот процесс. Форки, пул реквесты, бранчи и т.д., всё это не удобно делать в SVN, не потому что SVN плохая система, просто это прошлый век. Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 21:20 SVN vs. Git в плане "лучше" вообще сравнивать некорректно. Первая система - централизованная, вторая - распределенная, они имеют свои плюсы/минусы для конкретных ситуаций. лолшто? давно это свн хранит бинарные файлы лучше гита?К примеру, если брать вопрос репозитория для арта (текстуры, игровые модели, звуки и т.п.) - то SVN гораздо лучше Git'а. Я посочувствую тому, кто собирается в Git'е запуллить себе такой репозиторий после хотя бы месяца работы команды. Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 21:29 ufna, для бинарных файлов обычно все SVN и используют, тут никто и не спорит. Но мы то о коде говорили. SVN достаточно сильно тормозит, уже это мешает с ним работать с большими репозиториями. Просто сравнивали скорость SVN и Perforce. SVN не подходит, если нужно создавать много веток, потом их сливать. Но для домашних проектов SVN вполне подходит. Как уже сказал - Perforce штука классная, но дорогая. Пока не вижу смысла использовать, потом возможно и перейдем. На данный момент используем его только как клиенты, для одного очень большого проекта (там репозиторий в сотнях Гб). Цитировать лолшто? давно это свн хранит бинарные файлы лучше гита? предлагаю взять процесс разработки трехмерной модели к примеру такой штуки - http://gallery.ufna.ru/content/Other/3D/mastadont_010019.jpg Каждый день - коммит в районе 300Мб, общий размер по окончанию модели с исходниками - около 1 Гб. И еще минус Git'а для таких целей - невозможность чекаута только части репозитория. Для крупных репозиториев это ОЧЕНЬ важно. Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 21:37 ufna
git gc юзайте гит хранит объекту кусками и дубликаты удаляется. Этого в свн нет. Так что я не верю что репа свна жрет больше. Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 21:46 Гитовая репа намного меньше свновской.
Название: Re: Система контроля версий Отправлено: Igors от Ноябрь 29, 2011, 21:48 предлагаю взять процесс разработки трехмерной модели к примеру такой штуки - http://gallery.ufna.ru/content/Other/3D/mastadont_010019.jpg Каждый день - коммит в районе 300Мб, общий размер по окончанию модели с исходниками - около 1 Гб. Це Ви вже "геть знахабнiли" - уже и модели/текстуры (т.е. файлы данных) апдейтите на автомате. Тут дай бог с исходниками разобраться Edit: кстати о птичках - где тут 300 метров? (http://gallery.ufna.ru/content/Other/3D/mastadont_010019.jpg (http://gallery.ufna.ru/content/Other/3D/mastadont_010019.jpg)). Модель простенькая, ну метров 5-10 даже в жирном текстовике. Текстуры - пошленький FractalNoise, так он "procedural" ото и все. Чего "раздувать"? Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 21:54 ufna git gc юзайте гит хранит объекту кусками и дубликаты удаляется. Этого в свн нет. Так что я не верю что репа свна жрет больше. Это все отлично подходит для кода в виде исходников. Там да, гитовский репозиторий меньше. Для бинарников - тем более частно изменяющихся (причем не как экзешник, а как файлы, между которыми может быть почти ничего общего) - это не так. P.S. - невозможность чекаутить по частям - это гораздо более сильный минус :) С размерами репозитория еще можно смириться, но с хранением всего репозитория арта - вот точно нет. Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 22:04 ufna git gc юзайте гит хранит объекту кусками и дубликаты удаляется. Этого в свн нет. Так что я не верю что репа свна жрет больше. Это все отлично подходит для кода в виде исходников. Там да, гитовский репозиторий меньше. Для бинарников - тем более частно изменяющихся (причем не как экзешник, а как файлы, между которыми может быть почти ничего общего) - это не так. P.S. - невозможность чекаутить по частям - это гораздо более сильный минус :) С размерами репозитория еще можно смириться, но с хранением всего репозитория арта - вот точно нет. Чекаут по частям не нужен. Название: Re: Система контроля версий Отправлено: iroln от Ноябрь 29, 2011, 22:14 Цитировать Чекаут по частям не нужен. Это ещё почему?Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 22:16 При чекауте можно указать глубину истории. А так, да, чекаут по частям нужен на плохих соединениях.
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 22:20 Хранить копию файла целиком ВСЕГДА занимает больше места, чем хранить куски. Даже если в файле нет одинаковых кусков, размер как минимум будет таким же. Чекаут по частям не нужен. Если файл не изменяется - тогда да. А когда этого файла - версий десять подряд, размер файла ~300-400Мб? Насколько мне память не изменяет, гит будет хранить все это на локальной машинке. В SVN'е - достаточно хранить у себя последнюю версию. Чекаут по частям - ОЧЕНЬ нужен. Вы представляете себе размеры арт-репозитория, о котором я веду речь? Отдельным исполнителям - не нужно все это, даже с быстрым интернетом. Не говоря уже об апдейтах. Размер репозитория - это напрямую время на чекауты/апдейты. Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 22:30 ну в общем фигня война. короче вам нужна файлопомойка с версионностью, коей и является свн.
Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 22:33 ;D как я уже сказал, для разных целей - свои решения. в 90% проектов на данных момент у нас гит.
еще камень в сторону гита - это его работа с symlink'ами. Она ужасна. Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 22:34 Отдельным исполнителям - не нужно все это, даже с быстрым интернетом. Опция --depthНазвание: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 22:55 Опция --depth Да, согласен. Правда я имел в виду, что к примеру звуковику совершенно не нужна вся остальная часть с моделями и т.п. :) Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 22:57 на самом деле очень радует совместимость svn-git в обе стороны :)
Название: Re: Система контроля версий Отправлено: Пантер от Ноябрь 29, 2011, 22:58 на самом деле очень радует совместимость svn-git в обе стороны :) Угу. На работе приходится им постоянно пользоваться, так как все на свне.Название: Re: Система контроля версий Отправлено: Авварон от Ноябрь 29, 2011, 23:06 на самом деле очень радует совместимость svn-git в обе стороны :) Угу. На работе приходится им постоянно пользоваться, так как все на свне.Название: Re: Система контроля версий Отправлено: ufna от Ноябрь 29, 2011, 23:18 Использование SmartSVN сводит напряги с минимумом и позволяет работать с SVN репозиторием как с Git'овским :)
Название: Re: Система контроля версий Отправлено: Tonal от Декабрь 21, 2011, 10:48 У git-а на винде есть ещё изрядный недостаток - криво работает с именами файлов в национальной кодировке и/или содержащими пробелы.
Ну и для с комментариев на русском требуется настроечка дополнительная. Причём все гуи ведут себя в этом смысле по разному. Для кого-то это не проблема, а кто-то может из за этого вовсе отказаться от использования... |