Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > УП: Инструменты > Чем git лучше svn?


Автор: Wowa 15.6.2010, 15:59
Чем git лучше svn? В чем различия?

Автор: bilbobagginz 15.6.2010, 20:24
по-еврейски:
чем трактор John Deer лучше танка Merkava M4 ?

Добавлено @ 20:34
различия - 
svn - чисто централизованный подход.
т.е.: 
есть серверная сторона. в нее все коннектятся чтобы записывать изменения. 
есть клиентская сторона, без связи с сервером она может узнать только данные о разнице между состоянием сейчас и тем что было с последнего обновления (т.е. вся история хранится на сервере)
git - чисто распределенный подход.
т.е. сервер не обязателен, для записывания изменений не нужна связь. вся история хранится у тебя.

различия в том, что при маломасштабных проектах довольно легко держать единое хранилище ВСЕГО кода, и бэкапить его регулярно. и это устраивает. А при очень крупных многопроектных ситуациях невозможно обслужить единым хранилищем всех клиентов (невыгодно), или же с т.з. управления кодом - удобнее чтобы каждый уровень наверх поднимал код, и мержил, а более низкие по статусу люди в главную master ветку не совали нос. в таком случае нужно настраивать единый сервер хитро и централизованно, и время от времени обновлять членство в "правильных группах", когда как человеком этот вопрос на месте решается проще: "я на этого чубзика могу положиться, и поэтому он в мой master хожий, с правами на запись". с др. стороны в такой ситуации надо как-то бэкапить код более низкого уровня, но на уровне разработчика.

еще различие - в электричке можно с git-ом коммитить и иметь доступ в историю всего кода, а в svn - не будет работать.

И самое главное: децентрализованные системы появились намного позже. Поэтому они обычно умеют делать всё, что умеют делать централизованные + децентрализованность.
(т.е. git можно сервить через сеть ssh/http/https, напр: http://github.com)



Автор: Wowa 15.6.2010, 23:04
Спасибо! Последнее время замечаю. что очень многие даже маленькие проекты используют git.

Автор: bilbobagginz 15.6.2010, 23:08
просто удобно коммитить локально, а время от времени какую-то ветку вешать на github, который стал еще и хостингом проектов, с дом. страничкой и т.д.

Добавлено через 1 минуту и 5 секунд
кстати нередко крупные предприятия покупают коммерческие инструменты, напр. perforce (который не слабо юзается гуглом)

Автор: Wowa 16.2.2011, 21:33
Че-то почти во всех статьях о GIT основным его преимуществом называют возможность автономной работы(коммита) даже без доступа к Интернету.

Пишут какой-то бред о "представьте, что в вашей фирме пропал интернет".

Автор: nickless 18.2.2011, 00:08
Wowa, если у тебя есть какой-то проект на svn  с которым ты постоянно работаешь, попробуй поработать с ним недельку через git-svn, сам всё поймёшь.

Автор: bilbobagginz 18.2.2011, 18:16
Цитата(Wowa @  16.2.2011,  20:33 Найти цитируемый пост)
Че-то почти во всех статьях о GIT основным его преимуществом называют возможность автономной работы(коммита) даже без доступа к Интернету.

Пишут какой-то бред о "представьте, что в вашей фирме пропал интернет". 

это скорее пугалка. молоток - это для гвоздей. а отвертка - для шурупов.

представь, что ты катаешься на автобусе/электричке, и во время поездки тебе захотелось:
а) покодить, и закоммитить (1-2 часа работы могут быть несколько коммитов)
б) хочешь помержить последний код, который тебе прислали тимлиды
в) просто дома из VPN хочешь порыскать по истарии изменений....

в этих случаях у распределенной модели, (когда история у тебя вся при себе) есть преимущество.
если это не актуально тебе, то париться не надо.

Автор: Karadul 10.7.2013, 22:58
То есть, для бекапа своих исходников на локалхосте git не будет лучше svn (минус нечитаемые номера ревизий)?

А можно включить один и тот же код в 2 хранилища - в одно коммитить чаще (локальная история), в другой реже (общее хранилище)?

Кстати, и в svn можно сделать клон хранилища. Только работать с ним может быть неудобно.
----
А гит всегда сливает всю историю версий? А если мне нужно только последнюю?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)