Git (произнася се „гит“) е децентрализирана система за контрол на версиите на файлове.
Създадена е от Линус Торвалдс за управление на разработката на Linux. Поради нуждата да се контролира огромната база от код на Linux ядрото, основна цел при разработката на Git е била бързината. Координатор на разработката на Git е Джунио Хамано.
Git | |
Информация | |
---|---|
Разработчик | Линус Торвалдс, Джунио Хамано, и други |
Последна версия | 2.11.0 |
Програмен език | C, Shell, Perl |
Операционна система | POSIX, Linux, Windows, BSD |
Вид софтуер | Управление на версии |
Лиценз | GPL |
Уебсайт | git-scm.com |
Git в Общомедия |
Всяка локална Git директория е хранилище с пълна история и възможности за следене на версиите. Това прави Git независим от мрежови връзки към централен сървър.
Git е свободен софтуер и се разпространява под GPL лиценз версия 2. Текстовият интерфейс на програмата е преведен на български.
Разработката на Git започва след като много от разработчиците на Линукс ядрото преустановяват използването на BitKeeper – тогавашният избор за система за контрол на версиите.
В търсенето си на алтернатива на BitKeeper, Торвалдс не намира свободна система, която да посреща изискванията му. Едно от главните му изисквания е бързодействието. Той дава пример как за да промени малко парче от код, на съществуващ проект, му отнема тридесет секунди. Това обаче е много за проекти с мащаба на Линукс ядрото, където подобни промени се случват от порядъка на 250 пъти. Други водещи критерии в избора му са:
По онова време само Monotone отговаря на изискванията му, но като се вземе предвид желанието на Торвалдс за по-добра производителност и тази система за контрол на версиите отпада. Той решава непосредствено след завършване на 2.6.12-rc2 ядрото да се отдаде изцяло на разработването на Git.
Изборът на името Git не е много ясен и има различни версии защо точно така Торвалдс е избрал да нарече проекта си. В жаргон на Английски git означава „неприятен човек“. Линус се шегува, че понеже е егоцентричен обича да кръщава проектите на себе си.
Торвалдс преотстъпва разработването на 26 юли 2005 на Джунио Хамано.
Гит до голяма степен е вдъхновен от BitKeeper и Monotone. Дизайнът е силно повлиян от опита на Торвалдс с файлови системи. Първоначалният му замисъл е да създаде платформа от ниско ниво за система за контрол на версиите и върху нея да бъдат създавани инструменти като Cogito и StGIT. В процесът на разработка обаче гит се превръща в самостоятелна система за контрол на версиите, която може да се използва директно.
Гит използва два вида структури от данни:
Индексът служи като свръзка между базата с обекти и работната директория.
Всеки обект е уникално идентифицира със SHA-1 хеш на съдържанието му. Гит изчислява този хеш и го използва за име на обекта. Обектът се поставя в директорията, отговаряща на първите два символа на хеша. Остатъкът се използва за име на самия обект.
Гит съдържа всяка версия на файл като уникален обект от тип blob. Връзката между тези обекти може да бъде като се разглеждат tree и commit обектите. Нововъведените обекти се съхраняват компресирани, но тъй като се компресират всеки сам по себе си, това може да доведе до използване на много дисково пространство. За да се избегне това, обектите могат да се комбинират в пакети, които използват делта компресия.
This article uses material from the Wikipedia Български article Git (софтуер), which is released under the Creative Commons Attribution-ShareAlike 3.0 license ("CC BY-SA 3.0"); additional terms may apply (view authors). Съдържанието е достъпно под условията на лиценза CC BY-SA 4.0, освен ако не е посочено друго. Images, videos and audio are available under their respective licenses.
®Wikipedia is a registered trademark of the Wiki Foundation, Inc. Wiki Български (DUHOCTRUNGQUOC.VN) is an independent company and has no affiliation with Wiki Foundation.