Изучите команды Git на практических примерах в Linux — часть 2

Изучите команды Git на практических примерах в Linux — часть 2

 

Изучите команды Git на практических примерах в Linux — часть 1

 

В предыдущей статье мы изучили базовый рабочий процесс Git. В этой статье мы сосредоточимся на некоторых расширенных функциях, таких как различные действия с репозиторием, ветвление и теги. Как и предыдущая статья, это также практическое руководство по Git.

Разные действия с репозиторием

Переименовать

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

$ git mv README NEW-README

Теперь давайте проверим статус репозитория:

$ git status -s
R  README -> NEW-README

В приведенном выше выводе буква R появляется перед README, что означает, что файл был переименован. Следующий столбец показывает старое и новое имя файла.

ПРИМЕЧАНИЕ. Чтобы внести эти изменения в удаленный репозиторий, выполните команду git push.

Двигаться

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

$ mkdir new-dir
$ git mv README new-dir/

В этом примере мы создали новый каталог и переместили файл в этот каталог. Теперь проверим статус репозитория:

$ git status -s
R  README -> new-dir/README

Приведенный выше вывод показывает, что файл был перемещен в новый каталог.

ПРИМЕЧАНИЕ. Чтобы внести эти изменения в удаленный репозиторий, выполните команду git push.

Удалить

Как следует из названия, операция удаления удаляет файл / каталог из Git. Чтобы удалить файл, выполните следующую команду:

$ git rm README

Теперь давайте проверим статус репозитория:

$ git status -s
 D README

В приведенном выше выводе буква D появляется перед README, что указывает на то, что файл был удален из репозитория.

ПРИМЕЧАНИЕ. Чтобы внести эти изменения в удаленный репозиторий, выполните команду git push.

СБРОС НАСТРОЕК

Эта операция сбрасывает текущий HEAD в указанное состояние. В Git HEAD — это ссылочный указатель, указывающий на последнюю фиксацию.

Давайте разберемся с этим на примере:

$ touch AUTHORS
$ git add AUTHORS
$ git status -s
A  AUTHORS

В приведенном выше примере мы создали файл AUTHORS и добавили его в набор изменений. Теперь этот файл будет частью следующего коммита. Команда сброса Git откорректирует ссылку HEAD и удалит файл из набора изменений.

$ git reset HEAD AUTHORS

Теперь давайте проверим статус репозитория:

$ git status -s
?? AUTHORS

Как и ожидалось, вывод выше показывает, что файл был удален из набора изменений, следовательно ?? перед именем файла появляется символ.

Работа с ветками

Ветка в системе контроля версий — это самостоятельное направление развития. В отличие от других систем управления версиями, ветвление в Git действительно упрощено. В этом разделе мы обсудим различные функции, относящиеся к ветке.

Создать ветку

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

$ git branch my-feature-branch

В приведенной выше команде my-feature-branch — это имя ветки. Эта команда создаст локальную ветку.

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

$ git push origin my-feature-branch

Список веток

Чтобы просмотреть ветку, выполните команду ветки без аргументов.

 

$ git branch
* master
  my-feature-branch

Например, в приведенном выше выводе перечислены локальные филиалы. Символ звездочки обозначает текущую ветку. В нашем случае это основная ветка.

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

 

$ git branch -a
* master
  my-feature-branch
  remotes/origin/HEAD -> origin/master
  remotes/origin/master

В приведенном выше выводе ветви, выделенные красным цветом, являются удаленными ветвями.

Удалить ветку

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

$ git branch -d my-feature-branch

Удалена ветка my-feature-branch (была 220bf4d).

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

$ git push origin :my-feature-branch

Обратите внимание, что у нас есть двоеточие (:) с именем ветки, которое инструктирует git удалить удаленную ветку.

Переключить ветку

Для переключения между ветвями выполните команду checkout следующим образом:

$ git checkout my-feature-branch

Перешел на ветку my-feature-branch

Теперь проверим текущую ветку:

$ git branch
  master
* my-feature-branch

Кассовое отделение

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

$ git checkout -b my-feature-branch

Перешел на новую ветку my-feature-branch

Теперь проверим текущую ветку:

 

$ git branch
  master
* my-feature-branch

Восстановить рабочее дерево

Git позволяет нам отменять незафиксированные изменения. Мы можем добиться этого с помощью команды checkout. Давайте разберемся в этом на примере.

Сначала измените существующий файл и проверьте статус репозитория:

$ echo "Update README" >> README
$ git status -s
 M README

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

$ git checkout -- README
$ git status -s

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

Объединить ветку

Как следует из названия, операция слияния применяет изменения от одной ветки к другой. Давайте разберемся в этом шаг за шагом.

Сначала создайте новую ветку и зафиксируйте изменения в этой ветке:

$ git checkout -b my-feature-branch

Перешел на новую ветку my-feature-branch

$ echo "Update README" >> README.md
$ git add README.md
$ git commit -m "Updated README"
[my-feature-branch 42e28aa] Updated README
 1 file changed, 1 insertion(+)

Давайте переключимся на основную ветку и применим изменения к основной ветке

$ git checkout master

Перешел на ветку master

В вашей ветке обновлено значение origin/master.

$ git merge my-feature-branch
Updating 220bf4d..42e28aa
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

Теперь давайте проверим, что изменения применяются к основной ветке:

$ git log -1 --oneline
42e28aa (HEAD -> master, my-feature-branch) Updated README

Работа с тегами

Тег — это ссылочный указатель на конкретный коммит в истории Git. Часто тег используется для обозначения релизной версии продукта. В этом разделе мы обсудим основные операции с тегами, такие как создание, список и удаление.

Создать тег

Создать тег действительно просто. Для создания тега выполните следующую команду:

$ git tag my-tag

Вышеупомянутая команда создаст тег с именем my-tag. Чтобы создать тег в удаленном репозитории, выполните команду push следующим образом:

$ git push origin my-tag

Тег списка

Чтобы вывести список тегов, выполните команду Git tag без аргументов, как показано ниже:

$ git tag
my-tag

Удалить тег

Чтобы удалить тег, выполните команду Git tag с аргументом -d следующим образом:

$ git tag -d my-tag
Deleted tag 'my-tag' (was 220bf4d)

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

$ git push origin :my-tag

Заключение

В этой статье мы обсудили некоторые расширенные операции Git на примере. Прочитав это руководство, вы сможете свободно использовать Git в своем проекте. Если вам понравилась статья, поделитесь своими отзывами и комментариями.