Изучите команды 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 в своем проекте. Если вам понравилась статья, поделитесь своими отзывами и комментариями.