Предстои да отделите няколко часа от живота си четейки за Git. Нека обясним накратко какво ще ви предложим. Това е кратко резюме на съдържанието на десетте глави и трите приложения съставящи тази книга.
В Глава 1 ще опишем принципите на Version Control системите (VCS) и основите на Git — само кратко описание без технически детайли, така че да разберете защо е създаден Git при положение, че вече е имало десетки други решения за контрол на версиите, какво го отличава и защо се използва толкова масово. След това ще обясним как изтеглите и инсталирате Git и да направите първоначалните настройки, ако все още го нямате в системата си.
В Глава 2, ще минем през основните действия в работата с Git, покриващи 80% от случаите, с които ще се сблъскате. В края на тази глава би трябвало да можете да клонирате хранилища (repositories), да проследявате какво се е случило в историята на даден проект, да променяте файлове и да предлагате за интеграция вашите промени в общия проект. Ако в този миг книгата ви по някакъв начин изчезне, то вие ще сте вече напреднали с Git и ще работите пълноценно във времето докато се сдобиете с ново копие.
Глава 3 е посветена на branching архитектурата на Git (клоновете код), често изтъквана като най-добрата му страна. Тук ще разберете какво наистина отличава Git от останалите подобни проекти. След като приключите, твърде е възможно да почувствате нужда от малко почивка, в която да осъзнаете как е било възможно да работите без branching-функциите на Git.
Глава 4 покрива Git от страна на сървъра. Тази глава е за тези, които искат да инсталират собствено Git решение в рамките на организацията или върху собствен сървър за съвместна работа с множество разработчици. Ще разгледаме и няколко hosted-опции, ако предпочитате някой друг да се грижи за тази задача.
Глава 5 ще премине детайлно през различни разпределени работни процеси и как да ги изпълним с Git. В края на главата ще можете да работите като истински експерт с множество отдалечени хранилища, да използвате Git през имейл и ловко да жонглирате с множество отдалечени клонове код (branches) и предложени поправки код (patches).
Глава 6 е посветена на хостнатата услуга GitHub и подробна информация за инструментите, които тя предлага. Разглеждаме създаването и управлението на акаунт, създаване и ползване на Git хранилища, стандартните процедури за подпомагане с код на външни проекти (както и как да приемате контрибуции за вашите собствени такива), програмния интерфейс на GitHub и много други ценни съвети, които ще ви улеснят работата като цяло.
Глава 7 е посветена на някои по-сложни Git команди. Ще научите за неща като mastering и плашещата 'reset' команда, за ползване на двоично търсене за намиране на грешки, историята на промените, детайлно обяснение на избора на версии и много други тънкости. Тази глава ще ви даде допълнителните знания, необходими за да станете истински Git експерти.
Глава 8 разглежда конфигурацията на вашата Git система. Това включва създаването на hook-скриптове за да наложите или окуражите спазването на собствени политики и използването на настройки за конфигурация на работната среда - така че да можете да работите по начина, по който вие искате. Ще разгледаме и изграждането на ваши собствени колекции от скриптове, с чиято помощ да наложите желаните от вас правила за публикуване (commit) на код.
Глава 9 е за взаимодействието на Git с други VCS системи. Това включва използването на Git в Subversion (SVN) света и конвертирането на проекти от други VCS системи към Git. Множество организации все още ползват SVN и е малко вероятно това да се промени скоро. Но към този момент вие ще сте завладяни от невероятната мощ на Git и тази глава ще ви покаже как да процедирате ако трябва да си имате работа с SVN сървър. Разглеждаме също и как да импортираме проекти от няколко други системи в случай, че успеете да убедите всички да направят прехода.
Глава 10 се потапя в тъмните (и същевременно очарователни) дълбини на Git. След като вече знаето всичко за Git и неговата сила, време е да разберете още повече детайли - как Git съхранява своите обекти и какъв е техния модел, детайли за pack-файловете, протоколи на сървъра и др. Вътре в книгата, ще се обръщаме към секции от тази глава в случай, че пожелаете да научите какво се случва под повърхността. Разбира се, ако сте като нас и техническите детайли са на първо място за вас - можете да започнете книгата прочитайки първо Глава 10. Изборът е изцяло ваш.
В Приложение А даваме множество примери за ползване на Git в специфични условия. Разглеждаме няколко различни GUI приложения и IDE среди, в които бихте искали да използвате Git и какво можете да правите в тях. Ако искате резюме за ползването на Git в шела, във Visual Studio или в Eclipse - погледнете тук.
В Приложение B изследваме възможностите за автоматизация и разширение на Git чрез инструменти като libgit2 и JGit. Ако се интересувате от писане на сложни и бързи специализирани инструменти и се нуждаете от достъп до Git на ниско ниво, това е мястото където може да видите как стоят нещата.
Накрая, в Приложение C, преминаваме през всички основни Git команди една по една и разглеждаме къде в книгата сме ги обяснили и какво сме направили с тях. Ако искате да знаете къде в книгата сме ползвали всяка една Git команда, можете да потърсите тук.
Да започваме!