Git - що таке? Git для початківців: опис
Відео: GitHub Desktop - огляд графічного Git клієнта
Багато з тих, хто пов`язаний з розробкою програмного забезпечення, чули про Git. Що таке ці три літери? Дуже важливо зрозуміти опис, а також принципи функціонування, щоб надалі ефективно використовувати цю систему контролю версій, в якій, на відміну від інших подібних систем, абсолютно інші поняття про інформацію, роботі з нею, незважаючи на схожий користувальницький інтерфейс. Отже, що таке Git?
опис
Git є розподіленою системою для управління версіями розроблюваних файлів. Створена вона була в 2005 році автором ОС Linux. Ця система здійснює синхронізацію роботи з сайтом, а також зберігає і оновлює зміни в файлах. Це дуже зручний підхід в разі роботи над проектом кількох розробників. На сьогоднішній день у багатьох відомих проектах використовується саме Git. Що таке використання дає? Приміром, розробкою операційної системи Android займається велика кількість програмістів. Було б вкрай незручно, якби один з них вносив зміни, а інші про це не знали. Git ж дозволяє всім бути в курсі всіх змін, а в разі помилок повернутися до попередніх версій файлів.
Використання зліпків, а не патчів
Головною відмінністю Git від інших систем контролю версій є те, як вона дивиться на дані. Велика частина програм зберігає інформацію у вигляді списку змін, які називаються патчами для файлів. Такі системи до збережених даних відносяться як до набору файлів, а також набору змін, які зроблені для кожного файлу, щодо часу. Як зберігає свої дані Git? Що таке є в цій системі, що відрізняє її від інших? Замість патчів, збережені дані тут вважаються набором зліпків маленької файлової системи. Всякий раз, коли користувач фіксує нову версію проекту, система просто зберігає зліпок стану файлів на поточний момент. Щоб підвищити ефективність в тому випадку, коли файл не змінювався, система не зберігає його, а робить посилання на раніше збережений екземпляр, в який були внесені останні зміни.
Це дуже важлива відмінність від інших систем контролю, яке притаманне Git. Що таке відміну дає? Git стає схожою на маленьку файлову систему, що володіє дуже потужними інструментами, які працюють поверх неї.
Відео: Git. Швидкий старт. Конфлікти. Урок 5 [GeekBrains]
Переважно локальні операції
Для того щоб здійснювати більшість операцій в Git, потрібні лише локальні ресурси і файли. Це означає, що найчастіше немає необхідності в інформації, що знаходиться на інших комп`ютерах, що входять в мережу. Так як всі зміни проекту знаходяться на диску, виконання операцій відбувається з блискавичною швидкістю. Наприклад, для того щоб переглянути історію проекту, її не потрібно завантажувати з сервера. Вона зчитується з локального сховища на комп`ютері. Якщо потрібно побачити зміни між версією файлу, яка була зроблена місяць тому, і поточної, можна зробити це дуже швидко, не звертаючись до сервера.
Ще локальна робота означає те, що можна багато чого зробити без підключення до мережі. Наприклад, розробник може вносити зміни, перебуваючи в транспорті. У багатьох системах контролю такої можливості немає.
Спостереження за цілісністю даних
Перед тим як зберегти будь-який файл, йому присвоюється індекс у вигляді контрольної суми, обчисленої безпосередньо Git. Що таке контрольна сума? Це значення, яке розраховується за допомогою спеціальних алгоритмів і використовується для того, щоб перевірити цілісність даних при їх зберіганні і передачі. Тут неможливо щось змінити без відома Git, і це важлива складова філософії системи.
Відео: Git. Швидкий старт. Відкат змін коду. Урок 3 [GeekBrains]
Дані найчастіше додаються
Майже всі дії, що здійснюються в Git, додають в базу даних. Видалити їх дуже важко. Можна лише втратити ще не збережену інформацію, але при її фіксації втрата виключена. З цієї причини багато хто вибирає саме Git, так як тут можна проводити експерименти без ризиків зробити щось непоправне.
стану файлів
Робота з Git для початківців на увазі запам`ятовування того, що файл може знаходитися в одному з трьох станів:
Відео: Git. Швидкий старт. Базові операції. Урок 2 [GeekBrains]
- Зафіксоване, тобто файл збережений у локальному сховищі.
- Змінена, коли правки були внесені, але збереження ще не виконано.
- Підготовлене - змінені файли, які відзначені для збереження.
Так, в проектах, в яких використовується Git, є три розділи для різних станів файлів:
- Каталог Git, де зберігаються метадані, а також база даних об`єктів. Ця частина системи найважливіша.
- Робочий каталог, який є витягнутої з бази даних копією якоїсь версії проекту.
- Файл, що містить інформацію про подальше збереження.
встановлюємо Git
Перше, що потрібно зробити для того, щоб використовувати систему контролю версій - встановити її. Існує кілька способів для цього. Основними є два варіанти:
- Установка Git з початкових кодів.
- Установка пакета для використовуваної платформи.
Установка Git з початкових кодів
При наявності такої можливості краще використовувати даний варіант, так як буде отримана найсвіжіша версія. Кожне оновлення зазвичай містить безліч корисних поліпшень, які стосуються інтерфейсу користувача. Саме тому, якщо установка з початкових кодів не дуже для вас скрутна, краще віддати перевагу її. Та й більшість дистрибутивів Linux включають в себе застарілі пакети.
Для установки знадобляться необхідні бібліотеки: expat, curl, libiconv, openssl, zlib. Після їх інсталяції можна завантажити останню версію системи контролю версій, скомпілювати її та встановити.
Установка в операційній системі Windows
Якщо у користувача немає Linux, а хочеться використовувати Git, Windows також підтримує цю систему. І встановити її дуже просто. Існує проект msysGit, процедура установки якого є однією з найпростіших. Необхідно просто завантажити файл інсталятора, який можна знайти на сторінці проекту в GitHub, а потім запустити його. Після закінчення установки на комп`ютері буде дві версії - графічна і консольна.
Первісна настройка Git
Після того як система контролю встановлена на комп`ютер, потрібно виконати деякі дії для налаштування середовища під користувача. Робиться це раз. При оновленні всі налаштування зберігаються. Їх можна буде поміняти в будь-який момент.
Git включає в себе утиліту git config, що дозволяє робити налаштування і контролювати роботу системи, а також зовнішній вигляд. Дані параметри можуть зберігатися в трьох місцях:
- У файлі, що містить значення, які є загальними для всіх користувачів і репозитаріїв.
- У файлі, що містить налаштування певного користувача.
- У файлі конфігурації, що знаходиться в поточному репозиторії. Такі параметри діють лише для нього.
користувача ім`я
В першу чергу після установки необхідно вказати ім`я користувача, а також електронну пошту. Це дуже важливо, тому що кожен Комміт (збереження стану) містить ці дані. Вони включаються в усі передані коммітов і не можуть бути змінені згодом.
Якщо вказати опцію -global, такі настройки потрібно буде зробити один раз.
Вибір текстового редактора
Після вказівки імені потрібно вибрати редактор, який буде необхідний при наборі повідомлень в Git. За замовчуванням буде використовуватися стандартний редактор операційної системи. Якщо користувач захоче використовувати інший, потрібно прописати це в налаштуваннях конфігураційного файлу в рядку core.editor.
Перевірка параметрів
Щоб знати основи Git, необхідно вміти перевіряти використовувані настройки. Для цього застосовується команда git config -list. Вона виводить всі доступні параметри, які зможе знайти. Деякі імена налаштувань можуть бути присутніми в списку кілька разів. Це відбувається через те, що Git зчитує один ключ з різних файлів. У такій ситуації для кожного ключа використовується останнє значення. Є можливість перевіряти значення певних ключів, вписавши в команду замість «--list» - «{ключ}».
Як створити репозиторій
Досягти цієї мети можна двома способами. Перший полягає в імпорті в систему існуючого каталогу або проекту. Другий - це клонування з сервера вже існуючого сховища.
Створення в даному каталозі
Якщо користувач вирішує почати використання Git для вже наявного проекту, він повинен перейти в каталог і форматувати систему. Для цього потрібна команда git init. Вона створює в каталозі підкаталог, де будуть знаходитися всі потрібні файли. На даному етапі ще не встановлюється версійність контроль над проектом. Для додавання файлів під контроль потрібно їх проіндексувати і зробити першу фіксацію змін.
клонування сховища
Для отримання копії вже існуючого сховища потрібна команда git clone. З її допомогою Git отримає копію майже всіх даних з сервера. Це стосується всіх версій кожного файлу. Дуже зручна можливість, так як в разі виходу з ладу сервера програміст зможе використовувати клон на будь-якого клієнта для повернення сервера в той стан, в якому він був при клонуванні. Це схоже на точку відновлення.
Видалення файлу в Git
Видалити з системи будь-який файл можна, якщо виключити його з індексу, тобто з відслідковуються файлів. Для цього потрібна команда git rm. Вона також прибирає файл з робочого каталогу користувача. Потім потрібно виконати Ком. Після нього файл просто зникне і відслідковуватися більше не буде. Якщо ж він змінений і вже проіндексований, то застосовують примусове видалення з параметром -f. Такий спосіб запобіжить видалення тих даних, які ще не записалися в знімок стану і які немає можливості відновити з системи.
скасування змін
У будь-який момент може з`явитися необхідність у скасуванні будь-які дії. Якщо користувач виконав Комміт рано, забувши внести деякі файли, то можна перевиконати його, використовуючи опцію --amend. Така команда використовує для коммітов індексу. Якщо після виконання останнього збереження не проводилося ніяких змін, то проект буде в такому ж стані, і з`явиться редактор для коментарів, де користувач зможе відредагувати все, що потрібно. Потрібно пам`ятати, що не кожного операцію скасування можна буде скасувати. Іноді можна безповоротно видалити необхідні дані. Слід бути уважними.
підсумки
Тепер користувач повинен сформуватися уявлення про те, що таке Git, для чого потрібна ця система контролю версій, чим вона відрізняється від інших подібних продуктів. Зрозуміло, що для повного ознайомлення необхідно встановити робочу версію Git з персональними налаштуваннями під себе. Не завадить який-небудь підручник або відеокурс по Git для «чайників», який зможе покроково провести користувача по всіх етапах роботи з системою.