Що таке СКВ, Види СКВ, до якої СКВ належить Гіт, відмінності від інших СКВ?

Відповідь:________________________________________

_________________________________________________

Що таке Репозиторій, які вони бувають, та з яких частин складаються?

Відповідь:________________________________________

_________________________________________________

У яких станах можуть знаходитись файли у Git, життєвий цикл файлів?

Відповідь:________________________________________

_________________________________________________

 

 

Роботу виконав Роботу перевірив


 

ЛАБОРАТОРНА РОБОТА №2

«Основи галуження у Git. Робота з гілками»

1. Тема роботи: Основи використання галуження при створенні проектів.

2. Мета роботи: Опанувати навичками роботи з гілками.

 

Теоретичний матеріал

Майже кожна система контролю версій підтримує гілки (branches) в певній мірі. Галуження - це відмежування від основної лінії розробки для продовження своєї частини роботи та уникнення конфліктів з основною лінією. Коли ви фіксуєте зміни, Git зберігає об’єкт фіксації, що містить вказівник на знімок змісту, який ви додали. Цей об’єкт також містить ім’я та поштову адресу автора, набране вами повідомлення та вказівники на фіксацію або фіксації, що були прямо до цієї фіксації (батько чи батьки): нуль для першої фіксації, одна фіксація для нормальної фіксації, та декілька фіксацій для фіксацій, що вони є результатом злиття двох чи більше гілок.

Коли ви створили фіксацію за допомогою git commit, Git обчислив контрольну суму кожної теки та зберігає ці об’єкти дерева в сховищі Git. Потім Git створює об’єкт фіксації, що зберігає метадані та вказівник на корінь дерева проекту, щоб він міг відтворити цей знімок, коли потрібно.

Якщо ви зробите якісь зміни та зафіксуєте знову, наступна фіксація буде зберігати вказівник на попередню.

Рисунок 2.1 – Фіксації та їх батьки

Гілка в Git це просто легкий вказівник, що може пересуватись, на одну з цих фіксацій. Коли ви почнете робити фіксації, вам надається гілка master, що вказує на останню зроблену фіксацію. Щоразу ви фіксуєте, вона переміщується вперед автоматично.

Рисунок 2.2 – Гілка та її історія фіксацій

Створення нової гілки створює новий вказівник, щоб ви могли пересуватися. Це робиться за допомогою команди git branch.

Особливий вказівник під назвою HEAD вказує на локальну гілку, на якій ви знаходитесь.

Щоб переключитися на існуючу гілку, треба виконати команду git checkout.

Важливо зауважити, що коли ви переключаєте гілки в Git, файли у вашій робочій теці змінюються. Якщо ви переключаєтесь до старшої гілки, ваша робоча тека буде повернута до того стану, який був на момент останнього фіксування у тій гілці. Якщо Git не може зробити це без проблем, він не дасть вам переключитися взагалі.

Оскільки гілки в Git це насправді простий файл, що містить 50 символів контрольної суми SHA-1 фіксації, на яку вказує, гілки дешево створювати та знищувати. Створити гілку так же швидко, як записати 41 байт до файлу(40 символів та символ нового рядку).

Основні команди для роботи з гілками у Git:

git branch – вивід списку існуючих гілок;

git branch -v – вивід списку існуючих гілок та їх останніх коммітів;

git branch -vv – вивід списку існуючих гілок, що відстежуються;

git branch --merged – вивід списку гілок, що злиті із поточною;

git branch --no-merged – вивід списку гілок, що не злиті із поточною;

git branch -u [remote]/[remotebranch] – прив’язка поточної локальної гілки до віддаленої;

git branch [branchname] – створення гілки;

git branch -d [branchname] – видалення гілки;

git branch -D [branchname] – форсоване видалення гілки;

git checkout [branchname] – переключення на гілку;

git checkout -b [branchname] – створення гілки та переключення на неї;

git checkout -b [branchname] [remote]/[remotebranch] – створення гілки, що відстежує віддалену гілку(з можливістю зміни імені локальної гілки);

git checkout --track [remote]/[remotebranch] – створення гілки, що відстежує віддалену гілку;

git merge [branchname] – злиття заданої гілки з поточною;

git push [remote] [localbranch] – відправлення локальної гілки на сервер;

git push --delete [remotebranch] – видалення гілки з сервера;

git rebase [branch] – перебазування поточної гілки на задану;

git rebase [basebranch] [topicbranch] – перебазування гілок;

git pull --rebase – автоматичне перебазування при злитті.

 

Вихідні дані роботи

Варіант 1: Team1

Варіант 2: Team2

Варіант 3: Team3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: