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

08.07.2019 на прочтение 10 минуты

Ранее мы писали о том, как установить и настроить Git на Windows и Linux. В этой статье мы рассмотрим основные команды для работы с Git.  Специалисты компании HyperHost ежедневно работают с репозиториями, поэтому инструкция без “воды” только нужная информация.

Поехали! Для большей наглядности команды будут представлены в том порядке в котором их нужно вводит в терминале начиная от создания нового локального репозитория до добавления изменений в удаленный репозиторий. 

Схематически этот процесс можно представить так как на рисунку ниже.

2-min

 

  1.  И так, начать нужно с создания нового репозитория (не забываем, что нужно создавать рабочую директорию и открывать Bash в том же месте, где находится папка Git), для этого вводим в терминале команду:

git init

После этого появляется скрытая папка .git. Нам в нее лазить и что-то делать не нужно, просто важный сам факт, что она появилась после ввода команды.

Для просмотра текущего состояния файлов и локального репозитория в целом,  в терминале нужно ввести команду:

git status

1

На скрине показаны состояние файлов:

new file -это файлы, которые только что проиндексировали (под контролем Git),

deleted - это файлы, которые были удалены с локального репозитория, 

modified -это файлы, которые были изменены, но их изменение еще не были зафиксированы,

untracked files -это файлы которые еще не проиндексированы (не под контролем Git).

 

2.Для добавления файлов под контроль Git нужно для начала  проиндексировать файлы:

 git add article.rtf

где article.rtf - файл, который хотим проиндексировать.

 

Если нужно добавить сразу все файлы репозитория в индекс используйте команду: 

 git add .

3.Для фиксации индексированных изменений:

git commit -m “Комментарий к коммиту”

add3

Очень удобно если Вы хотите сразу и добавить файлы в индекс и зафиксировать изменения, то это можно сделать не 2-мя, а одной командой :

git commit -a -m “Комментарий к коммиту”

add4-min

4.Дальше для работы с удаленным репозиторием нужно к нему подключиться командой:

  git remote add test URL

где test - названия Вашего репозитория, 

URL - URL-адрес Вашего репозитория.

remote5-min

Чтобы посмотреть список всех удаленных репозиториев воспользуйтесь командой:

git remote -v

re6-min

Если Вы работаете в команде и хотите присоединиться к работе над уже существующим  проектом, можно просто клонировать удаленный репозиторий себе командой:

git clone URL

5.Для заливки информации в удаленный репозиторий (например: GitHub, Bitbucket и т.д.) введите команду:

 git push

cl7-min

Для совместной работы над проектом Вам нужно будет извлекать себе изменения и наработки других участников проекта.

Для большей наглядности мы в удаленному репозитории в файл t2.txt, в котором внутри находилось ‘mariachange’ изменили на ‘ mariachange2’

fetch8-min

fetch9-min

 

Для извлечения данных в свой репозиторий сначала используем команду:

 git fetch

fe10-min

При этом идет соединение с удаленным репозиторием, забираются изменения, которых у нас еще нет на нашем локальном репозитории и сохраняет их в папке .git. Изменений пока нет в нашем рабочем каталоге.

Для того чтобы  они появились нужно после  git fetch ввести команду:

pull

Открываем файл в локальном репозитории t2.txt и видим что изменения с удаленного репозитория в него добавились.

pull12-min

Чтобы посмотреть историю коммитов используйте команду:

git log

logs

Для просмотра, что делалось в конкретном коммите вводим команду:

git show 6441b05a802163b77c9d6f39f4fed7c44d925893

 где 6441b05a802163b77c9d6f39f4fed7c44d925893 - id коммита (смотрим по логам)

На скрине сделан вывод, что мы делали в коммите 6441b05a802163b77c9d6f39f4fed7c44d925893, для большей наглядности взят последний коммит, где  в файле t2.txt к содержимому ‘mariachange’ была добавлена цифра 2.

Чтобы посмотреть какие изменения была внесены у файл, но еще не добавлены в коммит можно ввести команду:

git diff

Удалить файл с репозитория:

git rm photo1.png

где photo1.png - файл который хотите удалить.

rm

Также, удобно в работе с командой над общим проектом выделять разные ветки, а потом сливать наработки разных частей проекта в одну ветку.

Создать ветку можно командой:

git branch test

где test -название ветки

Просмотр всех веток:

git branch -v

Зеленым цветом выделяется ветка, на который мы сейчас работаем.

branch

Чтобы  переключится с одной ветки на другую:

 git checkout test

Переключение с ветки master на test.

br

Для удаление ветки (локально):

git branch -d article

где article -название ветки.

 

Чтобы удалить ветку на удаленном сервере:

git push origin :test

где origin - название удалённого репозитория

test - название ветки.

Слияние веток выполняется командой:

git merge test

Слияние текущей ветки с веткой test.

Далее разберем как сделать откат файла до определенного состояния. В качестве примера используем файл t2.txt в котором находится содержимое ‘mariachange2’ (состояние при коммите 6441b05a802163b77c9d6f39f4fed7c44d925893)добавляем содержимое ‘откат файла до определенного состояния’ и делаем коммит с комментарием ‘2’, также добавляем слово ‘коммит’ и также фиксируем изменения с комментарием ‘3’. Все эти изменения заливаем в удаленный репозиторий.

checkout20-min

checkout21-min

Для того чтобы вернуть файл в определенное состояния можно воспользоваться командой:

git checkout 6441b05a802163b77c9d6f39f4fed7c44d925893 t2.txt

где 6441b05a802163b77c9d6f39f4fed7c44d925893 - id коммита

t2.txt - файл в котором делается откат.

checkout

Как видим файл вернулся в состояние в котором был при коммите 6441b05a802163b77c9d6f39f4fed7c44d925893.

ck23-min

Команда ГиперХост  желает продуктивной и приятной работы с Git.


Close Screen
Maria Kholodnitska
Статей: 221
Оцените статью:


Спасибо за отзыв
Рейтинг: 5 из 5 Голосов: 7