Основи роботи з Git. Базові команди
Раніше ми писали про те, як встановити та налаштувати Git на Windows і Linux. У цій статті ми розглянемо основні команди для роботи з Git. Фахівці компанії HyperHost регулярно працюють з репозиторіями, тому ми будемо намагатися надати в цій статті тільки саму необхідну інформацію.
Для більшої наглядності, команди будуть представлені в тому порядку, в якому їх використовують при старті роботи з репозиторієм, починаючи від створення нового локального репозиторію до додавання і злиття змін у віддалений репозиторій.
Схематично цей процес можна уявити так як вказано на малюнку нижче.
1. Розпочати потрібно з створення нового сховища (не забуваємо, що потрібно створювати робочу директорію і відкривати Bash в тому ж місці, де знаходиться папка Git). Для цього вводимо в терміналі команду:
git init
Після цього з`являється прихована папка .git. Заходити туди нам не потрібно. Просто важливий сам факт, що вона з'явилася після введення команди.
Для перегляду поточного стану файлів і локального сховища в цілому, в терміналі потрібно ввести команду:
git status
На скрині йде вивід і демонстрація стану файлів:
- new file - це файли, які тільки що проіндексували ( під контролем Git );
- deleted - це файли, які були видалені з локального сховища;
- modified - це файли,які були змінені, але їх зміна ще не була зафіксована;
- untracked files - це файли, які ще не проіндексовані (не під контролем Git).
2. Для додавання файлів під контроль Git потрібно, для початку,проіндексувати файли:
git add article.rtf
де article.rtf - файл, який необхідно проіндексувати.
Якщо потрібно додати відразу всі файли сховища в індекс, використовуйте команду:
git add.
3. Для фіксації індексованих змін:
git commit - m “Коментар до комміту”
Дуже зручно, якщо ви бажаєте відразу і додати файли в індекс і зафіксувати зміни, зробити це не двома окремими командами, а просто однією командою так:
git commit - a - m “Коментар до комміту”
4. Далі для роботи з віддаленим репозиторієм потрібно до нього спочатку підключитися командою:
git remote add test URL
де test - назва вашого сховища,
URL - URL - адреса вашого сховища.
Щоб подивитися список усіх віддалених репозиторіїв, скористайтеся командою:
git remote - v
Якщо ви працюєте в команді і хочете приєднатися до роботи над уже існуючим проектом, можна просто клонувати віддалений репозиторій собі командою:
git clone URL
URL - URL - адреса вашого сховища.
5. Для додавання інформації в віддалений репозиторій (наприклад, в GitHub, Bitbucket і т.д.) введіть команду:
git push
Для спільної роботи над проектом вам потрібно буде “забирати” собі зміни та напрацювання інших учасників проекту. Щоб вилучити данні у свій репозиторій спочатку використовуємо команду:
git fetch
При цьому йде з`єднання з віддаленим репозиторієм, забираються зміни, яких у нас ще немає на локальному репозиторії і зберігаються у папці .git. Але цих змін поки немає в нашому робочому каталозі. Для того,щоб вони з`явилися, потрібно далі ввести команду:
git pull
Перегляд історії коммітів йде через команду:
git log
Дізнатися, які дії проводилися в конкретному комміті, вводимо команду:
git show 6441b05a802163b77c9d6f39f4fed7c44d925893
де 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
Перемикання з гілки master на 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 - файл, в якому робиться відкат.
Команда HyperHost бажає продуктивної та приємної роботи з Git.