Git - це система розподіленого управління версіями з відкритим кодом, створена в 2005 році Лінусом Торвальдсом та іншими членами спільноти розробників Linux. Git може працювати з багатьма типами проектів, але найчастіше він використовується для вихідного коду програмного забезпечення.
Контроль версій - це система, яка відстежує зміни у файлі чи групі файлів з часом. Якщо у вас є історія цих змін, це дозволяє вам знаходити конкретні версії пізніше, порівнювати зміни між версіями, відновлювати файли, які ви могли видалити, або повертати файли до попередніх версій.
А розподілені кошти системи управління версіями , що різні користувачі зберігають свої власні репозиторії проекту, замість того щоб працювати з одного центрального сховища. Користувачі автоматично мають повну можливість відстеження файлів і повну історію версій проекту, не потребуючи доступу до центрального сервера або мережі.
Коли Git ініціалізується в каталозі проекту, він починає відстежувати зміни файлів і зберігає їх як “набори змін” або “патчі”. Користувачі, які працюють разом над проектом, подають свої набори змін, які потім включаються (або відхиляються) у проект.
freeCodeCamp має тут список відтворення на YouTube із безліччю практичних порад щодо Git та GitHub.

Інші підручники:
- Книга Pro Git, написана Скоттом Чейконом та Беном Страубом та видана Apress. Книга повністю відображається в документації Git.
- Для завантажень, документації та підручника на основі браузера: офіційний веб-сайт Git
- Найкорисніші команди, коли ти потрапляєш у погану ситуацію з GIT: Oh s ***, git!
Зрозумійте три розділи проекту Git
Проект Git матиме такі три основні розділи:
- Каталог Git
- Робочий каталог (або робоче дерево)
- Площа постановки
Каталог Git (знаходиться в YOUR-PROJECT-PATH/.git/
) - це місце, де Git зберігає все необхідне для точного відстеження проекту. Це включає метадані та базу даних об’єктів, яка включає стислі версії файлів проекту.
Робочий каталог , де користувач робить локальні зміни в проект. Робочий каталог витягує файли проекту з об'єктної бази даних каталогу Git і розміщує їх на локальній машині користувача.
Область проходження - це файл (також званий "індекс", "етап" або "кеш"), що зберігає інформацію про те, що буде входити до вашого наступного коміту. Фіксація - це коли ти кажеш Git зберегти ці поетапні зміни. Git робить знімок файлів такими, які вони є, і постійно зберігає цей знімок у каталозі Git.
Три розділи містять три основні стани, в яких файл може знаходитись у будь-який момент: фіксований, модифікований або поетапний. Ви змінюєте файл у будь-який час, коли вносите зміни до нього у своєму робочому каталозі. Далі він інсценізується, коли ви переміщуєте його в інсценізаційну область. Нарешті, це здійснюється після коміту.
Встановіть Git
- Ubuntu:
sudo apt-get install git
- Windows: Завантажити
- Mac: Завантажити
Налаштування середовища Git
Git має git config
інструмент, який дозволяє налаштувати середовище Git. Ви можете змінити вигляд та функції Git, встановивши певні змінні конфігурації. Запустіть ці команди з інтерфейсу командного рядка на вашому комп'ютері (Термінал на Mac, Командний рядок або Powershell в Windows).
Існують три рівні зберігання цих змінних конфігурації:
- Система: розташована у
/etc/gitconfig
, застосовує налаштування за замовчуванням до кожного користувача комп’ютера. Щоб внести зміни до цього файлу, використовуйте--system
опцію зgit config
командою. - Користувач: знаходиться в
~/.gitconfig
або~/.config/git/config
застосовує налаштування до одного користувача. Щоб внести зміни до цього файлу, використовуйте--global
опцію зgit config
командою. - Проект: розташований у
YOUR-PROJECT-PATH/.git/config
, застосовує налаштування лише до проекту. Щоб внести зміни до цього файлу, використовуйтеgit config
команду.
Якщо є параметри, що конфліктують між собою, конфігурації на рівні проекту замінять конфігурації на рівні користувача, а конфігурації на рівні користувача замінять конфігурації на рівні користувача.
Примітка для користувачів Windows: Git шукає файл конфігурації на рівні користувача ( .gitconfig
) у вашій $HOME
директорії ( C:\Users\$USER
). Git також шукає /etc/gitconfig
, хоча це відносно кореня MSys, який є скрізь, де ви вирішите встановити Git у вашій системі Windows під час запуску інсталятора. Якщо ви використовуєте версію 2.x або пізнішу Git для Windows, існує також файл конфігурації системного рівня в C:\Documents and Settings\All Users\Application Data\Git\config
Windows XP, а також у C:\ProgramData\Git\config
Windows Vista та новіших версіях. Цей конфігураційний файл може змінити лише git config -f FILE
адміністратор.
Додайте своє ім’я та електронну адресу
Git включає ім'я користувача та електронну адресу як частину інформації у коміті. Ви захочете встановити це у своєму файлі конфігурації на рівні користувача за допомогою таких команд:
git config --global user.name "My Name" git config --global user.email "[email protected]"
Змініть свій текстовий редактор
Git автоматично використовує текстовий редактор за замовчуванням, але ви можете змінити це. Ось приклад використання замість цього редактора Atom ( --wait
опція вказує оболонці чекати текстового редактора, щоб ви могли виконувати свою роботу в ньому до того, як програма рухатиметься далі):
git config --global core.editor "atom --wait"
Додайте колір у вихід Git
Ви можете налаштувати свою оболонку на додавання кольору до виводу Git за допомогою цієї команди:
git config --global color.ui true
Щоб переглянути всі налаштування конфігурації, скористайтеся командою git config --list
.
Ініціалізуйте Git у проекті
Після того, як Git встановлено та налаштовано на вашому комп'ютері, вам потрібно ініціалізувати його у своєму проекті, щоб почати використовувати його повноваження контролю версій. У командному рядку використовуйте cd
команду для переходу до папки верхнього рівня (або кореневої) для вашого проекту. Далі запустіть команду git init
. Це встановлює папку каталогу Git з усіма файлами та об’єктами, необхідними Git для відстеження вашого проекту.
Важливо, щоб каталог Git був встановлений у кореневій папці проекту. Git може відстежувати файли в підпапках, але не буде відстежувати файли, розташовані в батьківській папці щодо каталогу Git.
Отримати допомогу в Git
Якщо ви забудете, як працює будь-яка команда в Git, ви можете отримати доступ до довідки Git із командного рядка кількома способами:
git help COMMAND git COMMAND --help man git-COMMAND
Це відобразить сторінку керівництва для команди у вашому вікні оболонки. Для навігації прокручуйте клавіші зі стрілками вгору та вниз або використовуйте такі комбінації клавіш:
f
абоspacebar
на сторінку впередb
на сторінку назадq
кинути
Різниця між Git та GitHub
Git і Github - це дві різні речі. Git - це система контролю версій, тоді як GitHub - це сервіс для розміщення репозиторіїв Git, який допомагає людям співпрацювати над написанням програмного забезпечення. Однак їх часто бентежать через схожу назву, через те, що GitHub будується на вершині Git, а також тому, що багато веб-сайтів та статей недостатньо чітко визначають різницю між ними.

Git
Git - це розподілена система контролю версій. Git відповідає за відстеження змін у вмісті - як правило, файлах вихідного коду.
Для отримання додаткової інформації є повна стаття про сам Git.
GitHub
GitHub - це послуга, що забезпечує розміщення сховищ Git. Це означає, що вони пропонують рішення під ключ для розміщення сховищ Git на своїх серверах. Це може бути корисно для збереження резервної копії вашого сховища (Git відстежує лише зміни, внесені у ваші файли з часом; репо все ще потрібно зробити резервну копію), а також мати централізоване місце для зберігання та обміну кодом з іншими.
Більше, ніж просто послуга хостингу сховищ Git, GitHub - це кузня програмного забезпечення. Це означає, що він також надає трекер випусків, інструменти для перегляду коду та інші інструменти для співпраці з іншими людьми та створення програмного забезпечення.
GitHub не єдина, хто надає такий вид послуг. Одним з основних конкурентів є GitLab. Детальніше про це дивіться у розділі про хостинг Git.
Як пройти автентифікацію за допомогою GitHub за допомогою SSH
rsa
Перш ніж продовжувати, переконайтеся, що тут немає файлів, використовуйте:
ls -al ~/.ssh
Якщо немає чого перерахувати (тобто : No such file or directory
), то використовуйте:
mkdir $HOME/.ssh
Якщо там нічого немає, то згенеруйте новий кейген за допомогою:
ssh-keygen -t rsa -b 4096 -C [email protected]
Тепер використання ls -al ~/.ssh
покаже наш id_rsa.pub
файл.
Додайте ключ SSH до агента SSH:
eval "$(ssh-agent -s)" # for mac and Linux from bash
eval `ssh-agent -s` ssh-agent -s # for Windows
Додайте ключ RSA до SHH за допомогою:
ssh-add ~/.ssh/id_rsa
Скопіюйте свій ключ у буфер обміну
clip < ~/.ssh/id_rsa.pub # Windows
cat ~/.ssh/id_rsa.pub # Linux
Перейдіть на сторінку налаштувань GitHub і натисніть кнопку "Новий ключ SSH", вставте у згенерований ключ.
Потім автентифікуйте за допомогою:
ssh -T [email protected]