Найкращі підручники з Git

Git - це система розподіленого управління версіями з відкритим кодом, створена в 2005 році Лінусом Торвальдсом та іншими членами спільноти розробників Linux. Git може працювати з багатьма типами проектів, але найчастіше він використовується для вихідного коду програмного забезпечення.

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

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

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

freeCodeCamp має тут список відтворення на YouTube із безліччю практичних порад щодо Git та GitHub.

Інші підручники:

  • Книга Pro Git, написана Скоттом Чейконом та Беном Страубом та видана Apress. Книга повністю відображається в документації Git.
  • Для завантажень, документації та підручника на основі браузера: офіційний веб-сайт Git
  • Найкорисніші команди, коли ти потрапляєш у погану ситуацію з GIT: Oh s ***, git!

Зрозумійте три розділи проекту Git

Проект Git матиме такі три основні розділи:

  1. Каталог Git
  2. Робочий каталог (або робоче дерево)
  3. Площа постановки

Каталог 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).

Існують три рівні зберігання цих змінних конфігурації:

  1. Система: розташована у /etc/gitconfig, застосовує налаштування за замовчуванням до кожного користувача комп’ютера. Щоб внести зміни до цього файлу, використовуйте --systemопцію з git configкомандою.
  2. Користувач: знаходиться в ~/.gitconfigабо ~/.config/git/configзастосовує налаштування до одного користувача. Щоб внести зміни до цього файлу, використовуйте --globalопцію з git configкомандою.
  3. Проект: розташований у 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\configWindows XP, а також у C:\ProgramData\Git\configWindows 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 - це не GitHub

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]