Разлика между Git и Subversion

Докато Subversion (SVN) хранилища са подобни на Git хранилища, разликата между двете е доста коварен. И двете са двата най-популярни системи за контрол на версиите на разположение използват за проследяване на промените в изходния код с течение на времето, но те имат своя справедлив дял на различията по отношение на архитектурата. Те могат да направят подобни неща, като поставяне на етикети и клонове, но те се различават драстично в начина, по който се съхраняват неща. Git е безплатна и с отворен код версия контрол система разпространява под лиценза на GNU, докато SVN е централизирана система за контрол на версиите разпределена под лиценз с отворен код . Тази статия подчертава някои от основните разлики между двете.

Разлика между Git и Subversion

Какво е Git?

Първоначално създаден за развитие на Линукс ядрото от Линус Торвалдс, използвайки патентована DVCS наречени BitKeeper, Git е постави началото на ново ниво на сътрудничество кодиране сред разработчиците общност. Git е един от най-популярните инструменти, използвани в почти хиляди проекти и приети от милиони разработчици по целия свят. Това е разпределена система за контрол на версиите, предназначени да наблюдавате какво се случва на промените в изходния код с течение на времето, като се поддържа специален вид база данни, наречена местното хранилище, което е точно клонинг на централното хранилище, което позволява на потребителите да съхраняват настоящите и предишната версия истории на файлове в техните местни машини. Основното предимство на Git е, че тя не зависи от достъпа до мрежата за дейността си, който гарантира целостта на съдържанието.

Разлика между Git и Subversion

Какво е Subversion?

Subversion, или SVN, е базирано на свободен и отворен код за контрол на версиите се използва за управление и съхраняване на файловете, както и промените, направени в тях с течение на времето по централизиран сървър. Той се разпространява под лиценза на Apache като отворен код. Основан от CollabNet през 2000 г., SVN е около продължение на повече от десетилетие и продължава да се радват на широка приемане като успешен VCS и инструмент за общността на отворения код и корпоративния екосистема. За разлика от Git, SVN съхранява версия историите на файлове в централизиран сървър. Той създава клонове в централното хранилище позира като директории. Когато даден потребител иска да направи промени в кода, те го правят от собствените си машини и когато те са готови, те тласкат код гърба на централното хранилище.

Разлика между Git и Subversion

Основи на Git и Subversion

Макар че и двете са двата най-популярния софтуер за система за контрол на версиите с отворен код, използван за наблюдавате какво се случва на промените в изходния код с течение на времето, те са много различни един от друг. Git е разпределена система за контрол на версиите, която използва разпределена система за каталогизиране на всички версии на файловете на проекта. Subversion (SVN), от друга страна, е централизирана на версии и контрол редакция система разпространява под лиценз с отворен код.

Хранилище на Git и Subversion

Git е разпределена система за контрол на версиите означава, вместо да използвате централизиран сървър за съхранение и управление на сорс кода, той създава местно хранилище, което е нищо друго, освен на клона на централното хранилище, което позволява на разработчиците да правят промени на цялата работа на местно ниво. Местната хранилището се състои от всичко, от версия истории да клони към метаданни, всичко. От друга страна, когато разработчиците ангажират с подривна дейност, те изпращат всички промени обратно в централния регистър.

Разпределение на Git и Subversion

Когато потребителите се провери хранилище в Git, те ще получат пълен клонинг на цялата работа, която се съхранява на техните местни машини. Те трябва да "избута" промените, направени в кода, за да го споделите с други потребители, или "дърпане", за да се синхронизира с дистанционно хранилище. Това го прави лесно за множество потребители да си сътрудничат, без да пречи на централното хранилище. В подривна дейност, всеки потребител споделя същата централното хранилище чрез клонове.

Мрежа надеждност на Git и Subversion

Git е най-малко зависими от достъпа до мрежата, тъй като повечето от нейните операции са достъпни онлайн. Потребителите могат да се правят по обединяване, rebase и разклоняващи се, без дори да се притеснявате за достъп до мрежата. Въпреки това, е необходима мрежова само когато потребителите трябва да синхронизират местното хранилище с централното хранилище. Subversion, от друга страна, изисква достъп до мрежата за повечето от неговите операции, защото няма местен хранилище за съхраняване на промените на местно ниво.

Съдържание Интегритет на Git и Subversion

Всичко в Git е криптографски напускане сумират, като се използва SHA-1 хеш алгоритъм, преди да бъде съхранен, който гарантира надеждността на съдържанието на кода. Това го прави почти невъзможно да се променя съдържанието на кода без Git знае за това. Subversion, напротив, не са хешираното съдържание което означава, че не гарантира целостта на съдържанието в случай на мрежа или повреда на диска. Git е несъмнено по-добрата алтернатива, когато става въпрос за целостта на съдържанието.

Git срещу Subversion: Сравнение на таблицата

Git VERSUS Subversion

Обобщение на Git стихове Subversion

Git е несъмнено една от най-популярните и широко използвани системи за контрол на версиите на разположение, който е специално проектирана да поддържа всичко, от малки до големи проекти. Това е система за контрол на разпределени версия с отворен код, използван за съхраняване и поддържане на промени в изходния код с течение на времето в местен хранилище, което е нищо друго, освен на клона на централното хранилище. SVN е и система за контрол на версиите който се използва за основно със същата цел, с изключение на това как те се съхраняват неща. За разлика от Git, SVN използва централизиран сървър за запазване на настоящите и предишни версии на файлове, като изходен код, документация, уеб страници и др Едно голямо предимство Git има над SVN е, че потребителите могат да имат за Git контрола версия, без дори да се притеснявате за мрежа достъп, което е много малко вероятно в SVN.

Вижте още за: ,