Комментарии (59)
zagayevskiy
26.10.2015 13:04+1Проголосовало 430 человек. Воздержалось 59 человек.
Интересно, хоть 2009 (Проголосовало 2176 человек. Воздержалось 443 человека.) переплюнем? Если нет, то будет весьма и весьма грустно.Dm4k
26.10.2015 16:28+3На самом деле прикольно наблюдать как из года в год перетекали пользователи SVN в Git. Жаль что из статистики выпали два предыдущих года.
ZoomLS
26.10.2015 15:05+1В своё время понравился Subversion, но я тогда первый раз пользовался подобным. Сейчас везде Git.
guai
26.10.2015 20:03+3Что значит «больше всего»? Всё моё, например, на меркуриале, но часто использую чужие проекты на гите, и да, этого до фига, по штукам больше, конечно же, чем моего.
MacIn
26.10.2015 20:47Связка: SVN для репозитория и git локально.
monah_tuk
27.10.2015 03:29git-svn? А как мёржи делаете? externals? А то svn ветки так и мёржу самим svn.
И кстати да, как отмечать подобное? svn или git?Bozaro
27.10.2015 09:36+1Есть возможность провернуть фарш в обратную сторону (репозиторий git, а локально — svn): github.com/bozaro/git-as-svn
Мы используем эту связку, чтобы использовать все плюшки git-а и дать части пользователей (не программистам) работать через svn-протокол.monah_tuk
27.10.2015 10:02+1Не в нашем случае:
- в компании уже очень привыкли к централизованным VCS
- уже всё сделано на SVN
- многие заказчики для своих нужд тоже используют SVN
Но за наводку спасибо, положу себе в закладки.
MacIn
27.10.2015 18:37-1C SVNом работаю самим SVNом. Просто в локали можно быстро сделать новую ветку, прерваться, сделать другую задачу, затолкнуть ее в SVN и потом откатить в gitе локально. Все через diff2. У нас git не приживается — просто не нужна распределенка, а SVN приятнее на ощупь.
immaculate
28.10.2015 12:06Git/Mercurial в любом случае удобнее, когда над проектом работает более одного человека. Хотя я предпочитаю Mercurial. Но обе системы явно удобнее SVN, что для одного, что для нескольких человек. Просто по мере увеличения количества разработчиков преимущества проявляются все более явно.
Lavir_the_Whiolet
26.10.2015 21:19-18Я вот хотел поставить Git, но самые передовые компании в Этой Стране используют SVN. :(
QuickStudio
26.10.2015 22:02+12«Эта страна» — Индия?
questor
26.10.2015 22:17+19— Мой код так прекрасен, что я хочу станцевать его.
— Петров, перестаньте паясничать на кодревью!
irony mode off
FSA
26.10.2015 23:36-7Как-то начал в своё время использовать Mercurial. Особо в нём не разбирался, просто была нужда иметь историю изменений и синхронизировать исходный код на несколькоих компьютерах. Недавно пытался использовать Git. Сразу же столкнулся с какой-то проблемолй синхронизации между компьютерами. Какое-то время поковырял. Потом решил, что овчинка выделки не стоит, тем более репозиторий пока не имел особо информации. Убрал Git и вернулся на Mercurial. Лучше кодом заниматься, чем разбираться в системах контроля версий. Да и экспертом в DVCS не очень то нужно мне становиться.
kromxr
27.10.2015 00:14Когда то давно сидели с коллегой и решили — пора уже нам попробовать что-то из систем контроля версий. (а нас было трое на проекте все новички по сути, и никто до этого не использовал контроля версий). Коллега был поклонником Ubuntu и предложил bazaar, ну а я каким-то интуитивным чувством был за git. В итоге я все же уговорил его перейти на git. C тех пор только git, хотя и были моменты когда приходилось работать с проектами на mercurial (более менее но много с чем так и не разобрался, а потом все равно все перевели на git), и на svn (буэ...., но git-svn меня спас)
ProstoTyoma
27.10.2015 00:15Ещё есть вариант Git внутри SVN. Очень приятно с легаси проектами получается.
KvanTTT
27.10.2015 10:57-1Интересная статистика. SVN с 2009 теряет позиции, а GIT — наоборот уверенно набирает. Жаль, правда, что 2013, 2014 года пропущены.
vdasus
27.10.2015 11:48Используем TFS, сейчас добился, что все приняли решение переехать на TFS + Git.
Для своих мелких задач использую bazaar как самый простой и логичный (для меня) в использовании. Знаю, что признаваться что тебе нравится bazaar это моветон и написан он ужасно и не развивается почти и его писал Путин лично, но… для совсем простых задач он намного проще в использовании чем Git. Гораздо меньше вариантов выстрелить себе в ногу. Для меня шоком было, когда узнал, что не всегда можно откатиться в Git на то, что уже положено в репозиторий.
Так что для простых задач, Hg или Bazaar, для серьёзной работы переезжаем на Git.PQR
28.10.2015 11:01не всегда можно откатиться в Git на то, что уже положено в репозиторий.
а вот с этого места подробнее, пожалуйстаvdasus
28.10.2015 19:08-1The fundamental promise of any version control system is this: “Once you put your precious source code in here, it’s safe. You can make any changes you like, and you can always get it back”. Git breaks this promise. Several ways a committer can irrevocably destroy the contents of a repository:
1.git add. / … / git push -f origin master
2.git push origin +master
3.git rebase -i / git push
stevebennett.me/2012/02/24/10-things-i-hate-about-git/
Частично обходится, конечно, можно некоторые вещи закрыть через конфигурацию и т.п. Я ещё не настолько гуру-гит чтобы давать советы, просто как раз сейчас читаю массу информации о гите — уже промелькнуло мимо несколько «как я выстрелил себе в ногу»
Вчера вот, например, попалось: www.linux.org.ru/forum/general/10897902denver
29.10.2015 01:51+1Для меня шоком было, когда узнал, что не всегда можно откатиться в Git на то, что уже положено в репозиторий
Several ways a committer can irrevocably destroy the contents of a repository:
Ага, можно даже грохнуть все ветки, надо же какой git небезопасный :)
Однако, дышите ровнее, git хранит локально все что удалено вышеуказанными способами. Вот пример куда копать:
dchekmarev.ru/blog/article/1313679957vdasus
29.10.2015 19:25Спасибо за уточнение. Я ещё раз говорю, что пока не гит гуру. Просто много читаю на эту тему. Ссылок на «все пропало потому что» действительно попадается много. Понятно, что чтобы выстрелить в ногу надо «не дочитать, не додумать» и т.п. просто в некоторых системах такое невозможно в принципе. Т.е. если я положил что-то в базар или хг — я всегда, в любой ситуации могу восстановиться до этого состояния. С гитом есть варианты использования, где, конечно, «сам дурак», но данные могут быть потеряны. По крайней мере об этом много ссылок в интернете. Возможно такие гуру как вы и вытащите все что угодно со 100% гарантией.
Пара вопросов:
— То что вы написали как-то связано с комментарием по моей ссылке «По идее, если сборщик мусора еще не отработал»? Я ещё не углублялся в собрщика мусора, буду благодарен за то, что вы поделитесь опытом.
— Точно ли ситуация в описанном вами примере поможет в описанном случае? Некоторые моменты для меня пока не совсем ясны. Я боюсь спорить. Сейчас активно экспериментирую, читаю книги.
— Правда ли что положенные в гит файлы 100% *всегда* могут быть восстановлены?
Если что — я двумя руками за гит. Я его изучаю и мы на него переедем (это факт ибо идеологически он нам подходит), когда я буду готов к ответу на любые вопросы и к обучению джуниоров. Сейчас этап сбора информации и изучения.Zapped
29.10.2015 19:49Не denver, но тоже могу ответить
— То что вы написали как-то связано с комментарием по моей ссылке «По идее, если сборщик мусора еще не отработал»? Я ещё не углублялся в собрщика мусора, буду благодарен за то, что вы поделитесь опытом.
Да, в общем, связано. Чувак, делалgit fetch
(хоть и на bare репозитории), значит он уже получил весь репозиторий, просто перезатёр ветку (применивgit push --force
)
но автоматом сборщик запускается далеко не сразу
— Точно ли ситуация в описанном вами примере поможет в описанном случае? Некоторые моменты для меня пока не совсем ясны. Я боюсь спорить. Сейчас активно экспериментирую, читаю книги.
Не точно. Если бы он не делалgit fetch
, и не получал какие-либо уведомления c ID коммита, то есть вероятность, что тю-тю…
Однако же, него был исходный репозиторий в Hg, он имел репозиторий на двух машинах, так что почти невероятно…
но дай дураку… стеклянный…
(прежде, чем делать git push --force, надо понимать, что делаешь, а не выполнять бездумно «первый совет из гугла»)
— Правда ли что положенные в гит файлы 100% *всегда* могут быть восстановлены?
неправда, что ВСЕГДА 100%
то есть, почти такая же правда, как и восстановление удалённого на NTFS-разделе файла: при соблюдении некоторых условий
tenzink
29.10.2015 20:36Мы у себя запрещаем переписывание истории в репозитории на сервере. Права чтобы сделать `git push -f` есть только у избранных.
denver
01.11.2015 14:35Правда ли что положенные в гит файлы 100% *всегда* могут быть восстановлены?
Скажем, в 99.99% ;)
«Мусор» в git удаляется вручную запуском git gc, либо «автоматом вместе с некоторыми командами» (думаю очень специфичными), скорее всего *локально* он хранится очень долго и в git reflog можно найти все что было удалено/ребэйзнуто/аменднуто и т.п. Правда мне никогда не приходилось смотреть в reflog, если и делал push -f пару раз ошибочно то всегда находился коллега/сервер с актуальной версией. В остальном просто стараюсь делать копии веток которые собираюсь «портить».
Zapped
29.10.2015 19:32git reflog --help
— локально
на сервере тоже хранятся, даже если себе не fetch'или — если настроены уведомления, в которых рассылаются ID — это если по-быстрому…
медленее —git fsck
RTFM, в общем ;)
vdasus
28.10.2015 19:14парсер съел скобки, простите:
1.git add. / … / git push -f origin master
2.git push origin +master
3.git rebase -i <some commit that has already been pushed and worked from> / git push
Propheta13
27.10.2015 15:27На работе основные репозитории — SVN. Git + repo для некоторых частей.
На прошлой работе пользовали Git + Perforce.
SabMakc
27.10.2015 20:28В свое время отказывались от SourceSafe, выбирали между git и mercurial (изначально в списке был и bazaar, но почти сразу его вычеркнули, уже не помню почему).
Остановились на mercurial по нескольким соображениям:
- Неизменность истории.
- Простота.
- Высокий уровень защиты от дурака.
- Удобнейший GUI (TortoiseHG).
О выборе не жалели.
DrLivesey
Однажды довелось пользоваться Accurev, но проект кончился и начался проект где используется Git.
amage
От воспоминаний об AccuRev я покрылся холодным потом. Та же ситуация.
DrLivesey
Мда, та еще система. У нас еще и никакого толкового тренинга по ней не было. Все только с собственного опыта. При этом накопилось изрядное количество «НЕ ДЕЛАЙ ..., а то потом долго исправлять».
immaculate
Есть еще «замечательный» продукт IBM/Rational ClearCase. Люди платят $5000 за лицензию на одного человека, чтобы получить геморрой, после которого CVS кажется идеальным продуктом. Вот это настоящая загадка.
Lavir_the_Whiolet
Ответ к этой загадке прост: маркетинг. Почитайте статьи Даниэля Канемана.