git init
Після цього з`являється прихована папка .git. Заходити туди нам не потрібно. Просто важливий сам факт, що вона з'явилася після введення команди.
Для перегляду поточного стану файлів і локального сховища в цілому, в терміналі потрібно ввести команду:
git status
На скрині йде вивід і демонстрація стану файлів:
⦁ new file - це файли, які тільки що проіндексували ( під контролем Git );
⦁ deleted - це файли, які були видалені з локального сховища;
⦁ modified - це файли, які були змінені, але їх зміна ще не була зафіксована;
⦁ untracked files - це файли, які ще не проіндексовані (не під контролем Git).
git add article.rtf
де article.rtf - файл, який необхідно проіндексувати.
Якщо потрібно додати відразу всі файли сховища в індекс, використовуйте команду:
git add .
⦁ Для фіксації індексованих змін:
git commit -m “Коментар до коміту”
Дуже зручно, якщо ви бажаєте відразу і додати файли в індекс і зафіксувати зміни, зробити це не двома окремими командами, а просто однією командою так:
git commit -a -m “Коментар до коміту”
⦁ Далі для роботи з віддаленим репозиторієм потрібно до нього спочатку підключитися командою:
git remote add test URL
де test - назва вашого сховища,
URL - URL - адреса вашого сховища.
Щоб подивитися список усіх віддалених репозиторіїв, скористайтеся командою:
git remote -v
Якщо ви працюєте в команді і хочете приєднатися до роботи над уже існуючим проектом, можна просто клонувати віддалений репозиторій собі командою:
git clone URL
URL - URL - адреса вашого сховища.
⦁ Для додавання інформації в віддалений репозиторій (наприклад, в GitHub, Bitbucket і т.д.) введіть команду:
git push
Для спільної роботи над проектом вам потрібно буде “забирати” собі зміни та напрацювання інших учасників проекту. Щоб вилучити данні у свій репозиторій спочатку використовуємо команду:
git fetch
При цьому йде з`єднання з віддаленим репозиторієм, забираються зміни, яких у нас ще немає на локальному репозиторії і зберігаються у папці .git. Але цих змін поки немає в нашому робочому каталозі. Для того,щоб вони з`явилися, потрібно далі ввести команду:
git pull
Перегляд історії коммітів йде через команду:
git log
Дізнатися, які дії проводилися в конкретному комміті, вводимо команду:
git show 6441b05a802163b77c9d6f39f4fed7c44d92589
де 6441b05a802163b77c9d6f39f4fed7c44d925893 - це id комміта (можна побачити по логам).
На скрині зроблено вивід, що ми виконували в комміті
6441b05a802163b77c9d6f39f4fed7c44d925893. Для більшої наочності було взятий останній комміт, де у файлі t2.txt до вмісту `mariachange` була додана цифра 2.
Щоб подивитися, які зміни були внесені у файл, але ще не додавали в комміт, можна ввести команду:
git diff
Видалити файл з репизиторію:
git rm photo1.png
де photo1.png - файл, який хочете видалити.
Також, зручно в роботі з командою над спільним проектом виділяти різні гілки, а потім зливати напрацювання різних частин проекту в одну гілку.
Створити гілку можна командою:
git branch test
де test - назва гілки.
Перегляд усіх існуючих гілок:
git branch -v
Зеленим кольором виділяється гілка, на якій ми зараз працюємо.
Щоб переключитися з однієї гілки на іншу:
git checkout test
Для видалення гілки (локально):
git branch -d article
де article - назва гілки.
Щоб видалити гілку на віддаленому сервері:
git push origin:test
де origin - назва віддаленого сховища;
test - назва гілки.
Злиття гілок виконується командою:
git merge test
Злиття поточної гілки з гілкою test.
І на останок розберемо, як зробити відкат файлу до певного стану. Для того, щоб повернути файл у певний стан, можна скористатися командою:
git checkout 6441b05a802163b77c9d6f39f4fed7c44d925893 t2.txt
де 6441b05a802163b77c9d6f39f4fed7c44d925893 - id комміту.
t2.txt - файл, в якому робиться відкат.
Отже, це знову ж таки тема, де потрібно самостійно спробувати «побавитися» з цим і просто набратися досвіду, бо яка б класна теорія не була, а без практики «далеко не заїдеш».
Хочу ще наголосити на тому, що вартує зразу ж вчитися командам Git, а не працювати через GitHub Desktop, бо на початку шляху (поки ви навчаєтесь) її буде достатньо, але коли будете працювати в команді над комерційним проектом, то дуже ймовірно, що можуть виникнути ситуації, де потрібно буде застосовувати всю потужність Git-a, але без попереднього досвіду зробити це буде тяжко і не комфортно – пишу з власного досвіду -_-
Залишаю вам трішки матеріалів для самостійної практики та вивчення:
Група в телеграмі: https://t.me/ruby4you
Автор курсу: Шкоропад Даниїл