Упатство:Вовед во git
Текстот е во главно превод на официјалниот водич кој се наоѓа на [1]
Упатството ќе ви објасни како да увезите нов проект во git, да направите промени, и да ги споделите со други.
Доколку сакате да го користите git само за да ја добиете најновата верзија од некој проект, може повеќе да бидете заинтересирани во првите двe поглавја од упатството за корисници на git [2].
Ако сакате да добиете подетална документација за некоја опција на git, напишете
man git-opcija
пример, за „git pull“ напишете
man git-pull
Увезување на нов проект
Доколку имате архива со некој проект, на пример project.tar.gz можете да го контролирате со git на следниот начин
tar xzf project.tar.bz cd project git init
git ќе ви одговори со
Initialized empty Git repository in .git/
Тоа е тоа, нели беше лесно? Сега кажете му на git да зачува снимка од содржината на сите датотеки во тековниот директориум со опцијата add
git add .
Сега снимката е зачувана во во привремена област на премин која git ја нарекува „index“. Промените перменантно можете да ги зачувате со
git commit
Ова ќе ве праша за commit порака (во вашиот едитор), која треба да е кратка и јасна. Честито, ја зачувавте вашата прва ревизија во git.
Правење промени
Променете некои датотеки, потоа додајте ги нивните променети содржини во индексот
git add datoteka1 datoteka2 datoteka3
Сега сте спремни за commit. Можете да видите кои промени сте ги направиле во diff-стил со git diff
git diff --cached
(без --cached, git ќе ви ги покажи промените кои се направени, но не се додадени во индексот). Можите да добиете и кратко резиме со git status. На крај, перманентно зачувајте ги промените со
git commit
Наместо рачно да пишите git add претходно, двете операции можете да ги направите во еден чекор со
git commit -a
меѓутоа, ова нема да ги препознае новите датотеки.
Белешка за commit пораките: Добро е пораките да ги започнете со една кратка линија (помалце од 50 карактери) која ќе ги резимира пораките проследена со една празна линија и подетален опис на промените. На пример, алатките кои ги претвараат commit операциите во е-пошта ја користат првата линија како наслов а останатиот дел како тело на пораката.
Git се грижи содржина, не датотеки
Многу системи за контрола на ревизии имаат „add“ команда која му кажува на системот да започни да води грижа за таа датотека. „Add“ командата на git прави нешто попросто и помоќно: git add се користи за нови и изменети (веќе згрижени) датотеки, и во двата случаја прави снимка од датотеките, ја додава таа содржина во индексот, спремна за commit.
Гледање на историјата на проектот
Кога и да било, можете да ја разгледата историјата на проектот преку дневникот со
git log
Доколку сакате да видите компленти diff-ови на секој чекор користете
git log -p
Често доста помага краток поглед на промените
git log --stat --summary
Работење со гранки
Едно git складиште (repository) може да содржи повеќе гранки. На пример, за да направите нова гранка со име „experimental“
git branch experimental
Ако сега напишите
git branch
ќе добиете листа на гранките во проектот, пример
experimental * master
experimental гранката е таа што штотуку ја направивте, а master е предефинираната гранка која за вас се прави автоматски при иницијализрањето на проектот. Астерискот (*) ви кажува на која гранка моментално работите, за промена на гранката
git checkout experimental
што ќе ве однеси во experimental гранката. За да направите промени и да се вратите во master гранката
git commit -a git checkout master
Промената во оваа гранка не е видлива бидејќи ја направивте во experimental гранката. Тука направете други промени па
git commit
Сега имате две гранки кои по нивното разделување имаат различни промени. За да ги споите (што многу често ќе сакате да го правите) напишете
git merge experimental
што ја спојува тековната (master) гранка со experimental. Доколку промените имаат конфликти, ќе има маркери на деловите кои се конфликтни
git diff
ќе ви поможи. Откако рачно ќе ги решите конфликтите направете commit со
git commit -a
Доколку сакате графички приказ на промените напишете
gitk
Сега можите да ја избришете experimental гранката со
git branch -d experimental