-
1. Почетак
- 1.1 О контроли верзије
- 1.2 Кратка историја програма Гит
- 1.3 Шта је Гит?
- 1.4 Командна линија
- 1.5 Инсталирање програма Гит
- 1.6 Подешавања за први пут
- 1.7 Тражење помоћи
- 1.8 Резиме
-
2. Основе програма Гит
- 2.1 Прављење Гит репозиторијума
- 2.2 Снимање промена над репозиторијумом
- 2.3 Преглед историје комитова
- 2.4 Опозив
- 2.5 Рад са удаљеним репозиторијумима
- 2.6 Означавање
- 2.7 Гит алијаси
- 2.8 Резиме
-
3. Гранање у програму Гит
- 3.1 Укратко о гранању
- 3.2 Основе гранања и спајања
- 3.3 Управљање гранама
- 3.4 Процеси рада са гранањем
- 3.5 Удаљене гране
- 3.6 Ребазирање
- 3.7 Резиме
-
4. Гит на серверу
- 4.1 Протоколи
- 4.2 Постављање програма Гит на сервер
- 4.3 Генерисање јавног SSH кључа
- 4.4 Подешавање сервера
- 4.5 Гит демон
- 4.6 Паметан HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Опције за хостовање које нуде трећа лица
- 4.10 Резиме
-
5. Дистрибуирани Гит
-
6. GitHub
-
7. Гит алати
- 7.1 Избор ревизија
- 7.2 Интерактивно стејџовање
- 7.3 Скривање и чишћење
- 7.4 Потписивање вашег рада
- 7.5 Претрага
- 7.6 Поновно исписивање историје
- 7.7 Демистификовани ресет
- 7.8 Напредно спајање
- 7.9 Rerere
- 7.10 Отклањање грешака са програмом Git
- 7.11 Подмодули
- 7.12 Паковање
- 7.13 Замена
- 7.14 Складиште акредитива
- 7.15 Резиме
-
8. Прилагођавање програма Гит
- 8.1 Конфигурисање програма Гит
- 8.2 Гит атрибути
- 8.3 Гит куке
- 8.4 Пример полисе коју спроводи програм Гит
- 8.5 Резиме
-
9. Гит и остали системи
- 9.1 Гит као клијент
- 9.2 Мигрирање на Гит
- 9.3 Резиме
-
10. Гит изнутра
- 10.1 Водовод и порцелан
- 10.2 Гит објекти
- 10.3 Гит референце
- 10.4 Pack фајлови
- 10.5 Рефспек
- 10.6 Протоколи за пренос
- 10.7 Одржавање и опоравак податак
- 10.8 Променљиве окружења
- 10.9 Резиме
-
A1. Додатак А: Програм Гит у другим окружењима
- A1.1 Графички интерфејси
- A1.2 Гит у Visual Studio
- A1.3 Гит у Visual Studio Code
- A1.4 Гит у IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Гит у Sublime Text
- A1.6 Гит унутар Bash
- A1.7 Гит у Zsh
- A1.8 Гит у Powershell
- A1.9 Резиме
-
A2. Додатак Б: Уграђивање програма Гит у ваше апликације
- A2.1 Гит из командне линије
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Додатак В: Гит команде
- A3.1 Подешавање и конфигурација
- A3.2 Набављање и креирање пројеката
- A3.3 Основно снимање
- A3.4 Гранање и спајање
- A3.5 Дељење и ажурирање пројеката
- A3.6 Инспекција и поређење
- A3.7 Отклањање грешака
- A3.8 Крпљење
- A3.9 Имејл
- A3.10 Спољни системи
- A3.11 Администрација
- A3.12 Водоводне команде
A3.5 Додатак В: Гит команде - Дељење и ажурирање пројеката
Дељење и ажурирање пројеката
Нема много команди у програму Гит које приступају мрежи, скоро све команде оперишу над локалном базом података. Када сте спремни да поделите свој рад или да повучете измене са неког другог места, постоји неколико команди које раде са удаљеним репозиторијумима.
git fetch
Команда git fetch
комуницира са удаљеним репозиторијумом, преузима све информације из тог репозиторијума које се не налазе у вашем тренутном, па их смешта у локалну базу података.
Са овом командом се први пут сусрећемо у Добављање и повлачење из удаљених репозиторијума, па настављамо са приказом примера њене употребе у Удаљене гране.
Такође је користимо у неколико примера у Како се даје допринос пројекту.
Користимо је да преузмемо једну одређену референцу која се налази ван подразумеваног простора у Референце на захтев за повлачење, а у Паковање видимо како да преузмемо из запакованог репозиторијума.
Подешавамо детаљно прилагођене рефспекове да git fetch
уради нешто мало другачије од онога што подразумевано ради у Рефспек.
git pull
Команда git pull
је у суштини комбинација команди git fetch
и git merge
, којом програм Гит преузме са удаљеног репозиторијума који наведете и онда непосредно након тога покуша да изврши спајање у грану на којој се тренутно налазите.
Укратко смо је представили у Добављање и повлачење из удаљених репозиторијума и показали како да видите шта ће спојити ако је покренете у Истраживање удаљеног репозиторијума.
Такође показујемо како да је употребите као помоћ при тешкоћама ребазирања уРебазирање када ребазирате.
У Одјављивање удаљених грана показујемо како да је користите са URL адресом да једнократно повучете измене.
Коначно, у Потписивање комитова укратко помињемо да можете употребити опцију --verify-signatures
ове команде да проверите да ли су комитови које повлачите GPG потписани.
git push
Команда git push
се користи за комуникацију са другим репозиторијумом, израчунавање шта ваш репозиторијум има што удаљени нема, па затим гура разлику у други репозиторијум.
Она захтева да имате право уписа у удаљени репозиторијум, па је логично да се аутентификује на неки начин.
Команду git push
прво представљамо у Гурање ка удаљеним репозиторијумима.
Ту обрађујемо основе гурања гране на удаљени репозиторијум.
У Гурање идемо мало детаљније у гурање одређених грана, а у Гране за праћење показујемо како да поставите гране за праћење на које се аутоматски гура.
У Брисање удаљених грана користимо заставицу --delete
да обришемо грану на серверу са git push
.
Кроз Како се даје допринос пројекту дајемо неколико примера употребе git push
за дељење рада на гранама кроз више удаљених репозиторијума.
Начин употребе ове команде за дељење ознака које сте направили опцијом --tags
показујемо у Дељење ознака.
У Објављивање измена подмодула користимо опцију --recurse-submodules
да проверимо да ли је сав рад из наших подмодула објављен пре него што гурамо на суперпројекат, што је заиста корисно када се користе подмодули.
У Остале куке на клијентској страни укратко причамо о pre-push
куки, која представља скрипту коју постављамо да се изврши пре него што се заврши гурање и која проверава да ли је дозвољено да се обави гурање.
Коначно, у Гурање рефспекова причамо о гурању са потпуним рефспеком уместо уопштених пречица које се обично користе. Ово вам помаже да будете потпуно одређени у вези рада који желите да поделите.
git remote
Команда git remote
је алат за управљање вашом колекцијом удаљених репозиторијума.
Омогућава вам да дугачке URL адресе сачувате као кратке ручке, као што је „origin” тако да не морате стално да их уносите.
Можете да их имате неколико и команда git remote
се користи да их за додате, измените и обришете.
Ова команда је детаљно представљена у Рад са удаљеним репозиторијумима, укључујући приказ, додавање, уклањање и измену имена.
Такође се користи се и у скоро сваком наредном поглављу књиге, али увек у стандардном git remote add <име> <url>
формату.
git archive
Команда git archive
се користи за креирање фајла архиве одређеног снимка пројекта.
У Припрема за издање команду git archive
користимо да направимо tarball архиву пројекта коју можемо да делимо.
git submodule
Команда git submodule
се користи за управљање спољним репозиторијумима унутар обичних репозиторијума.
Ово би могло да послужи за библиотеке или остале врсте дељених ресурса.
Команда submodule
има неколико подкоманди (add
, update
, sync
, итд.) којима се управља овим ресурсима.
Ова команда се помиње само у Подмодули и ту је детаљно обрађена.