Знайомство з Git

Git - система контроля версій.

Окрім гіта є ще декілька подібних систем, наприклад, Turtley SVN.

Git - це технологія, якою користуються сервіси типу GitHub, BitBucket, GitLab, та інші.

Встановіть собі програму Git. Нам потрібна лише консольна версія.

Вікно встановлення Git
Всі галочки можна познімати
Вікно встановлення Git
Git ми будемо використовувати з консолі
Вікно встановлення Git
Зазвичай для авторизації використовують OpenSSL
Вікно встановлення Git
Дані налаштування наразі не важливі
Вікно встановлення Git
Git ми будемо використовувати з консолі

Після встановлення відкрийте консоль і перевірте, чи правильно встановилась програма, запустіть команду:

C:\Users\admin>git

Можете користуватися консоллю у вашій IDE, як правило консоль одразу відкрита в папці проекту.

Консоль в PhpStorm
Консоль (термінал) в PhpStorm

Перші команди гіта для індивідуального використання:

git clone посилання - клонувати репозиторій з сервера на локальну машину.
git clone посилання папка - клонувати репозиторій з сервера на локальну машину в конкретну папку.
git status - перевірити поточний статус поточної гілки.
git add . - добавити всі файли в коміт (точку збереження).
git commit -m "текст-опис" - створити коміт (точку збереження) поточної гілки.
git push або git push origin master - закинути коміт на сервер.

Під час першого коміту скоріш за все система попросить вас прописати конфігурації:

Your name and email address were configured automatically based
on your username and hostname. Please check that they are accurate.
You can suppress this message by setting them explicitly:

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

Після того, як ви пропишете вказані налаштування, перевірте статус, зробіть повторно коміт і відправте файли на сервер.

В подальшому ми вивчемо ще декілька команд для колективної роботи над проектом, для створення гілок і т.п.

Увага! На GitHub заливайте тільки вміст папки html, не заливайте архіви, PSD.

Станом на 2018 рік GitHub надає 1 Гб дискового простору на кожний відкритий проект (репозиторій) і дає можливість заливати файли розміром до 100 Мб.

Придивіться до сервісів GitLab, BitBucket. Останній, наприклад, дозволяє створювати приватні репозиторії на безкоштовному аккаунті.

Завдання

  1. Зареєструйтесь на GitHub
  2. Створіть на GitHub проект vizitka, встановіть галочку "Initialize this repository with a README".
  3. Клонуйте цей проект собі в папку html відповідного проекта в своїй папці проектів: d:\work\2017-09\vizitka>git clone https://github.com/ваш_логін/vizitka html
    або
    d:\work\2017-09\vizitka\html>git clone https://github.com/ваш_логін/vizitka .
  4. Перевірте в провіднику або файловому менеджері чи все правильно клонувалося, в потрібну папку.
  5. Перевірте, чи створилася папка .git в проекті.
  6. Скопіюйте в поточний проект зображення.
  7. Створіть текстовий файл і запишіть у нього вітання.
  8. Заляйте оновлення на GitHub: git status
    git add .
    git status
    git commit -m "first commit"
    git status

    git push
    або
    git push origin master
  9. Перевірте на сайті чи залялися оновлення.
  10. Поміняйте текст у текстовому файлі і повторно заляйте оновлення на сервер: git add .
    git commit -m "first commit"
    git push
    (git status - необов'язкова команда, але вона дозволяє вам контролювати те, що відбувається з вашими файлами)
  11. Подивіться на сайті графік: Insights > Graphs > Network.

В подальшому домашні роботи можете заливати на GitHub та давати викладачу посилання на проекти.

Якщо необхідно внести коригування в домашню роботу - зробіть це і оновлення заляйте на GitHub.

Контрольні питання

  1. Для чого призначена програма git?
  2. Які є альтернативи у цієї програми?
  3. Що таке репозиторій?
  4. Якою програмою можна заливати файли на bitbucket.org? А на gitlab.com?
  5. Чи можна швидко створити систему керування репозиторіями на своєму власному сервері (чи навіть комп'ютері)?
  6. Що таке дельти файлів?
  7. Що робить команда git clone?
  8. Що робить команда git init?
  9. Для чого потрібна команда status? Чому цією командою користуються чи не найчастіше?
  10. Які дії потрібно зробити, щоб заляти оновлення файлів на сервер?
  11. Якими способами можна скачати файли з репозиторія на інші комп'ютери?
  12. Що потрібно зробити, якщо щось пішло не так, напортили в себе на локалці (на своєму комп'ютері) і не знаєте як швидко розрулити ситуацію?

Домашнє завдання

  1. Створіть на сайті GitHub новий репозиторій t-shirts, клонуйте його собі в папку
    D:\work\2018\04\t-shirts
    Якщо у вас така папка вже є і вона не порожня, то git не дасть вам склонувати репозиторій. Переіменуйте цю папку, наприклад, на t-shirts2 і повторіть спробу клонування.
  2. Закиньте у папку t-shirts папку img (або images) з картинками, які ви вирізали з макету про футболки.
  3. Заляйте файли на сервер та вставте посилання на репозиторій у ваш табель.