Встановлення
GitHub Desktop
Git для всіх платформ
Налаштування інструментарію
Налаштування інформації про користувача для всіх локальних репозиторіїв
$ git config --global user.name "[ім'я]"
Встановлює ім’я користувача, що буде вказано для всіх ваших комітів
$ git config --global user.email "[поштова скринька]"
Встановлює поштову скриньку, що буде вказана для всіх ваших комітів
$ git config --global color.ui auto
Додає допоміжне забарвлення виводу в командній стрічці
Гілки
Гілки (branches) - важлива частина роботи з Git. Всі коміти будуть додаватися на гілку, на якій ви наразі знаходитесь (checkout). git status
підкаже поточну гілку.
$ git branch [назва-гілки]
Створює нову гілку
$ git switch -c [назва-гілки]
Переходить на вказану гілку і оновлює робочу директорію
$ git merge [назва-гілки]
Поєднує історію вказаної гілки з поточною. На GitHub операція інколи потребує запиту (pull request)
$ git branch -d [назва-гілки]
Видаляє вказану гілку
Створення репозиторіїв
Для кожного репозиторію створення треба виконати лише один раз, на самому початку: локально створити і завантажити на GitHub, або клонувати існуючий репозиторій.
$ git init
Після виклику git init
, створює посилання з локального репозиторію на пустий репозиторій на GitHub
$ git remote add origin [посилання]
Перетворює існуючу директорію на репозиторій Git
$ git clone [посилання]
Клонує (завантажує) існуючий репозиторій з GitHub, з усіма файлами, гілками і комітами
Файл .gitignore
Інколи з репозиторію Git варто виключити деякі файли. Це можна зробити, створивши спеціальний файл під назвою .gitignore
. Корисні шаблони для .gitignore
файлів можна знайти на github.com/github/gitignore.
Синхронізація змін
Синхронізація вашого локального репозиторію з репозиторієм на GitHub.com
$ git fetch
Завантажує всю історію з віддалених гілок
$ git merge
Поєднує віддалені гілки з поточною локальною гілкою
$ git push
Завантажує всі локальні зміни в гілках на GitHub
$ git pull
Оновлює локальну поточну гілку новими комітами з відповідної віддаленої гілки. git pull
— це поєднання git fetch
та git merge
Внесення змін
Перегляд еволюції файлів проєкту
$ git log
Виводить історію версії поточної гілки
$ git log --follow [назва файлу]
Виводить історію версії вказаного файлу, включно з перейменуваннями
$ git diff [перша-гілка]...[друга-гілка]
Виводить різницю між двома гілками
$ git show [коміт]
Виводить метадані та зміни вказаного коміту
$ git add [назва файлу]
Зберігає зміни в файлі, готуючись до створення коміту
$ git commit -m "[повідомлення з описом]"
Записує зміни в файлі в історію версій, створюючи новий коміт
Відновлення комітів
Видалення помилок і створення нової історії версій
$ git reset [коміт]
Відміняє всі коміти після вказаного, зберігаючи зміни локально
$ git reset --hard [коміт]
Видаляє всю історію і повертається до вказаного коміту
ОБЕРЕЖНО! Зміни в історії можуть мати кепські наслідки. Якщо вам треба змінити коміти, що існують на GitHub (віддалено), дійте обережно. Якщо вам потрібна допомога, звертайтесь до github.community або до підтримки.
Глосарій
- git: розподілена система контролю версій з відкритим кодом
- GitHub: платформа для хостингу і співпраці над репозиторіями Git
- коміт (commit): об’єкт Git, стан всього репозиторію стиснутий в SHA
- гілка (branch): невеликий рухомий вказівник на коміт
- клон (clone): локальна версія репозиторію, включно з усіма комітами і гілками
- віддалений репозиторій (remote): спільний GitHub репозиторій, що використовується членами команди для обміну змінами
- fork: копія репозиторію GitHub іншого користувача
- запит на поєднання (pull request): спосіб порівняти і обговорити зміни на гілці з відгуками, коментарями, інтегрованими тестами і т.д.
-
HEAD: вказівник, що позначає поточну робочу директорію. Може вказувати на різні гілки, теги і коміти з використанням
git switch