Основи роботи з Git. Базові команди

Раніше ми писали про те, як встановити та налаштувати Git на Windows і Linux. У цій статті ми розглянемо основні команди для роботи з Git. Фахівці компанії HyperHost  регулярно працюють з репозиторіями, тому ми будемо намагатися надати в цій статті тільки саму необхідну інформацію.
Для більшої наглядності, команди будуть представлені в тому порядку, в якому їх використовують при старті роботи з репозиторієм, починаючи від створення нового локального репозиторію  до додавання і злиття змін у віддалений репозиторій.
Схематично цей процес можна уявити так як вказано на малюнку нижче.

   1. Розпочати потрібно з створення нового сховища (не забуваємо, що потрібно створювати робочу директорію і відкривати Bash в тому ж місці, де знаходиться папка Git). Для цього вводимо в терміналі команду:

git init

Після цього з`являється прихована папка .git. Заходити туди нам не потрібно. Просто важливий сам факт, що вона з'явилася після введення команди.
Для перегляду поточного стану файлів і локального сховища в цілому, в терміналі потрібно ввести команду:

git status

На скрині йде вивід і демонстрація стану файлів:

   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.