• 0 Items - 0.00лв.
    • Количката е празна

29.95лв.

Управление на версиите с Git & GitHub

Share

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

Тази книга не е само за Git, но и за GitHub – сървис за онлайн хостинг на репозиторита, който има всички функции за разпределен контрол на версиите и контрол на източника – всичко, което Git поддържа, и дори повече. GitHub може да се похвали с контрол на достъпа, проследяване на грешки, управление на задачи, уики за всеки проект, поддръжка на документация за проект, заявки за изтегляне на промени (pull requests), история на къмити, интеграция с множество популярни сървиси, известия по имейл, емоджи, графики, вложени списъци със задачи, система @споменаване, подобна на тази, използвана в Twitter и т.н.

За да работите успешно с GitHub, трябва да разберете как работи Git. Затова първата част на книгата е посветена на използването на Git, а втората на GitHub.

Година

2023

Страници

316

Формат

162х235

Корици

Меки

Преводач

Надежда Борисова

Редактор

Ивелин Михайлов

Съдържание

Въведение…8

Част 1. Използване на Git

Глава 1. Въведение в системите за контрол на версиите…11
1.1. Какво представлява системата за контрол на версиите…11
1.2. Видове системи за контрол на версиите…11
1.2.1. Локална VCS…12
1.2.2. Централизирана VCS…13
1.2.3. Разпределена система за контрол на версиите…14

Глава 2. Git Cheat Sheet…16
2.1. Първоначална настройка…16
2.2. Създаване на ново репозитори или извличането му по съществуващ URL адрес…16
2.3. Операции с файлове. Преместване и изтриване на версии на файлове на репозиторито…17
2.4. Игнориране на някои файлове…17
2.5. Запазване и възстановяване на незавършени промени…17
2.6. Преглед на промените и създаване на къмити (къмитване на промени)…18
2.7. Колективна работа…19
2.8. Преглед и проучване на историята на промените на файловете в проекта…19
2.9. Връщане на къмити. Премахване на грешки и коригиране на създадената история…20
2.10. Синхронизация с отдалечено репозитори. Регистриране на отдалечено репозитори и обмен на промените…20

Глава 3. Начало…22
3.1. Команден ред на Git…22
3.2. Бързо въведение в Git…25
3.2.1. Създаване на първоначално репозитори…25
3.2.2. Добавяне на файлове към вашето репозитори…26
3.2.3. Задаване на автора на къмит…28
3.2.4. Нека направим още един къмит…29
3.2.5. Преглед на вашите къмити…29
3.2.6. Преглед на разликата между къмитите…31
3.2.7. Изтриване и преименуване на файлове във вашето репозитори…32
3.2.8. Копиране на вашето репозитори…33
3.3. Конфигурационни файлове…34
3.4. Настройка на псевдоними…36

Глава 4. Основни Git понятия…38
4.1. Основни понятия…38
4.1.1. Репозитори…38
4.1.2. Типове Git обекти…39
4.1.3. Индекс…40
4.1.4. Асоциативни имена…41
4.1.5. Git проследява съдържанието…42
4.1.6. Път в сравнение със съдържание…42
4.1.7. Pack файлове…43
4.2. Git концепции в действие…44
4.2.1. Директория .git…45
4.2.2. Обекти, хешове, блобове…46
4.2.3. Файлове и дървета…48
4.2.4. Забележка относно използването на SHA1…49
4.2.5. Дървовидна йерархия…51
4.2.6. Къмити…52
4.2.7. Тагове…53

Глава 5. Управление на файлове. Индекс…55
5.1. Всичко за индекса…55
5.2. Класификация на файлове в Git…56
5.3. Използване на git add…59
5.4. Някои бележки относно използването на git commit…61
5.4.1. Използване на git commit -all…61
5.4.2. Писане на съобщения в регистъра за къмити…63
5.5. Използване на git rm…63
5.6. Използване на git mv…66
5.7. Проследяване на преименуване…68
5.8. Файлът .gitingnore…69

Глава 6. Къмити…72
6.1. Какво е къмит?…72
6.2. Атомни набори от промени…73
6.3. Идентификация на къмит…74
6.3.1. Абсолютни имена на къмити…75
6.3.2. Връзки и символни връзки…76
6.3.3. Относителни имена на къмити…78
6.4. История на къмитите. Преглед на стари къмити…80
6.5. Намиране на къмити…83
6.5.1. Използване на git bisect…84
6.5.2. Използване на git blame…89
6.5.3. Използване на Pickaxe…90

Глава 7. Клонове…91
7.1. Причини за използване на клонове…91
7.2. Имена на клонове…92
7.3. Използване на клонове…93
7.4. Създаване на клонове…95
7.5. Командата git branch…96
7.6. Командата git show-branch…97
7.7. Превключване на клонове и качване на файлове…99
7.7.1. Базово превключване между клонове…100
7.7.2. Превключване на клонове, когато има некъмитнати промени…101
7.7.3. Обединяване на промените в друг клон…103
7.7.4. Създаване на нов клон и превключване към него…105
7.7.5. Отделяне на главата на клона…106
7.8. Изтриване на клонове…108

Глава 8. Командата git diff…111
8.1. Командата diff…111
8.2. Форми на командата git diff…112
8.3. Прост пример за git diff…115
8.4. Командата git diff и диапазони къмити…119
8.5. Командата git diff с ограничение на пътя…121

Глава 9. Сливания…124
9.1. Какво е сливане…124
9.2. Подготовка за сливане…125
9.3. Обединяване на два клона…125
9.4. Сливане с конфликт…128
9.5. Обработване на конфликти при сливане…133
9.6. Откриване на конфликтни файлове…134
9.7. Изследване на конфликти…135
9.7.1. Как командата git diff работи с конфликти…135
9.7.2. Как командата git log работи с конфликти…139
9.7.3. Как Git проследява конфликтите…140
9.7.4. Завършване на разрешаването на конфликта…142
9.8. Отмяна или рестартиране на сливането…144

Глава 10. Промяна на къмити…146
10.1. Git позволява да бъде променен къмит…146
10.2. Командата git reset…148
10.3. Командата git cherry-pick…157
10.4. Командата git revert…157
10.5. Команди reset, revert и checkout…158
10.6. Промяна на последния къмит…159
10.7. Пребазиране на къмити…162
10.7.1. Командата git rebase…162
10.7.2. Използване на командата git rebase -i…163
10.7.3. Сравнение на rebase и merge…168

Глава 11. Stash и reflog…169
11.1. Stash…169
11.2. Reflog…180

Глава 12. Отдалечени репозиторита…186
12.1. Основни концепции…186
12.1.1. Малко терминология…186
12.1.2. Чисто репозитори и репозитори за разработка…187
12.1.3. Атака на клонингите…189
12.1.4. Отдалечени репозиторита…190
12.1.5. Клонове за проследяване…191
12.2. Връзки към други репозиторита…193
12.2.1. Връзки към отдалечени репозиторита…193
12.2.2. Refspec…195
12.3. Примери за използване на отдалечени репозиторита…198
12.3.1. Създаване на авторитетно репозитори…199
12.3.2. Създаване на свой собствен отдалечен origin…201
12.3.3. Разработка във вашето репозитори…203
12.3.4. Изпращане на вашите промени…204
12.3.5. Добавяне на нов разработчик…205
12.3.6. Получаване на актуализации на репозиторито…208
12.4. Конфигурация на отдалечено репозитори…214
12.4.1. Командата git remote…215
12.4.2. Използване на git config…216
12.4.3. Ръчно редактиране на конфигурационния файл…217
12.5. Работа с проследяващи клонове…218
12.5.1. Създаване на проследяващи клонове…218
12.5.2. Пред и зад…222
12.6. Добавяне и премахване на отдалечени клонове…223
12.7. Чисти (bare) репозиторита и командата git push…225

Глава 13. Управление на репозитори…228
13.1. Какво е сървър?…228
13.2. Публикуване на репозиторита…229
13.2.1. Репозиторита с контролиран достъп…230
13.2.2. Репозиторита с анонимен достъп само за четене…231
13.2.3. Репозиторита, които позволяват анонимно писане…237
13.3. Някои съображения за публикуване на репозитори…239
13.4. Структура на репозиторито…241
13.4.1. Структура на споделеното репозитори…241
13.4.2. Структура на разпределеното репозитори…241
13.4.3. Примери за структура на репозитори…243
13.5. Разпределена разработка…245
13.5.1. Промяна на публичната история…245
13.5.2. Отделно къмитване и публикуване…246
13.5.3. Няма нито една истинска история…246
13.6. Разбиране какво се случва…248
13.6.1. Изходящи и низходящи потоци…248
13.6.2. Роли на разработчик и специалист по поддръжка…249
13.6.3. Взаимодействие модератор-разработчик…250
13.6.4. Двойна роля…250
13.7. Работа с няколко репозиторита…252
13.7.1. Собствено работно пространство…252
13.7.2. Откъде да започнете с вашето репозитори…253
13.7.3. Преобразуване в изходящо репозитори…254
13.7.4. Използване на няколко изходящи репозиторита…257
13.7.5. Клониране на проекти…259
13.7.6. Форк – не е толкова лошо?…260
13.7.7. Съгласуване на форкове…260
13.7.8. Клониране на проекти в GitHub…261

Част 2. GitHub

Глава 14. Въведение в GitHub…262
14.1. Какво е GitHub…262
14.2. История и някои интересни факти за GitHub…263
14.3. Популярност на GitHub…264
14.4. Възможности на GitHub…265
14.5. Колко струва?…266

Глава 15. Използване на GitHub…268
15.1. Създаване на акаунт в Github…268
15.2. Създаване на репозитори…272
15.3. Промяна на файлове…274
15.4. Създаване на нов клон…276
15.5. Заявки за изтегляне…280
15.6. Обработка на заявка за изтегляне…282

Глава 16. Настройки на GitHub…285
16.1. Общи параметри…285
16.1.1. Настройки на профила…285
16.1.2. Раздел Account…286
16.1.3. Раздел Appearance…287
16.1.4. Раздел Accessibility…287
16.1.5. Раздел Notifications…287
16.2. Параметри за достъп…288
16.2.1. Раздел Billing and plans…288
16.2.2. Раздел Emails…289
16.2.3. Раздел Password and authentication…290
16.2.4. Раздел SSH and GPG keys…292
16.2.5. Раздел Organizations…292
16.2.6. Раздел Moderation…292

Глава 17. Настройка на Git за работа с GitHub…295
17.1. Първоначална настройка на Git…296
17.2. Клониране на GitHub репозитори…296
17.3. Работа с репозиторито…299
17.4. SSH автентификация…301
17.5. Синхронизация от GitHub към локално репозитори…307
17.6. Добавяне на нови файлове или промени в съществуващи файлове…308

Глава 18. Приложението GitHub Desktop…309
18.1. Какво е GitHub Desktop…309
18.2. Вход в акаунта…310
18.3. Работа с репозиторито…312

Вместо заключение…316