Поиск по сайту:
Настоящий программист всегда выберет путь через 10 граблей, максимально обходя их, 20 рисков, максимально задумываясь о методе реализации(а не о том, что будет если риск не оправдается), нежели согласится выбрать путь саморазрушения и остановке развития через принятие идеи программерски не уважающего себя человека. (GreeveX)

Как использовать git reset

15.05.2021
Как добавить Git Remote

Изменения в репозитории git выполняются в текущем рабочем каталоге, и изменения могут быть помещены в индекс, из которого пользователь git может выбрать следующую фиксацию. Иногда пользователям git необходимо отменить изменения, сделанные в репозитории для целей проекта. Для выполнения этой задачи используется команда `git reset`. Эта команда сбрасывает текущее состояние HEAD в определенное состояние, и она может работать со всеми задачами фиксации или на уровне отдельного файла. С этой командой можно использовать различные типы параметров режима сброса. Назначение каждого параметра сброса и то, как некоторые параметры сброса могут быть применены с помощью команды `git reset` для локального репозитория git, были объяснены в этой статье.

 

Параметры сброса Git:

ВариантЦель
-softОн используется для запуска команды сброса без перезаписи каких-либо незафиксированных измененных файлов. Он не сбрасывает индекс и не вносит изменений в текущее рабочее дерево.
–mixedЭто параметр сброса по умолчанию, он сбрасывает индекс, но не вносит никаких изменений в рабочее дерево.
-hardОн сбрасывает и индекс, и рабочее дерево. Таким образом, любые зафиксированные или незафиксированные изменения, сделанные в рабочем дереве, будут потеряны.
–mergeОн сбрасывает индекс и изменяет файлы в рабочем дереве, если существует какое-либо различие между индексом и рабочим деревом. Если в рабочем каталоге существует какой-либо файл, который не спрятан, сброс будет прерван.
-keepОн сбрасывает записи индекса и изменяет файлы рабочего дерева при любых различиях между индексом и рабочим деревом. Если разница существует в локальном файле, сброс будет отменен.
-[no-]recurse-submodulesОн используется для рекурсивного сброса рабочего дерева всех активных подмодулей.
Читать  Как сделать git локальным так же, как удаленный

 

Предпосылки:

Установка GitHub Desktop

GitHub Desktop помогает пользователю git графически выполнять задачи, связанные с git. Вы можете легко загрузить последнюю версию этого приложения для Ubuntu с github.com. Вы должны установить и настроить это приложение после загрузки, чтобы использовать его. Вы также можете проверить руководство по установке GitHub Desktop в Ubuntu, чтобы правильно узнать процесс установки.

 

Создание локального репозитория

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

 

Сброс Git для конкретного файла:

В этой части статьи показано использование команды `git reset` для конкретного файла. Выполните следующую команду, чтобы проверить текущий статус репозитория, добавить файл send-email3.php и сбросить файл send-email3.php.

$ git status
$ git add send-email3.php
$ git reset send-email3.php

 

Следующие выходные данные показывают, что команда сброса изменила отслеживаемый файл на неотслеживаемый файл без какой-либо опции. Чтобы изменить статус всех отслеживаемых файлов репозитория на неотслеживаемые файлы, вы должны использовать команду git reset HEAD.

 

Сброс Git с параметром – -soft:

Использование команды  `git reset` с – вариантом soft показано в этой части статьи. Эта опция сохраняет рабочее дерево неизменным. Выполните следующую команду, чтобы проверить текущий статус репозитория, добавить файл send-email3.php и сбросить репозиторий с параметром –soft.

$ git status
$ git add send-email3.php
$ git reset --soft
$ git status

 

Следующий вывод появится после выполнения вышеуказанных команд. Выходные данные показывают, что рабочий тройник остался неизменным после выполнения команды reset, поскольку опция –soft сбрасывает только индекс.

Читать  Как установить и настроить Git в Fedora?

 

Сброс Git с параметром – -hard:

В этой части статьи показано использование команды `git reset` с параметром –hard. Эта опция перемещает указатель HEAD и обновляет содержимое рабочего дерева с содержимым, на которое указывает HEAD. Выполните следующую команду, чтобы проверить текущий статус репозитория, добавить файл send-email3.php и сбросить репозиторий с параметром –hard.

$ git status
$ git add send-email3.php
$ git reset --hard
$ git status

 

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

 

Сброс Git с опцией –mixed:

В этой части руководства показано использование команды `git reset` с параметром –mixed. Этот параметр перемещает указатель HEAD и обновляет содержимое промежуточной области содержимым, на которое указывает HEAD. Но он не обновляет рабочий древовидный параметр –hard и предоставляет информацию о неотслеживаемых файлах. Создайте новый файл с именем send-email-new.php в текущей папке репозитория. Выполните следующую команду, чтобы проверить текущий статус репозитория, добавить файл send-email3.php и сбросить репозиторий с параметром –mixed.

$ git status
$ git add send-email-new.php
$ git reset --mixed
$ git status

 

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

 

Заключение:

В этой статье были объяснены четыре различных способа запуска команды `git reset` с использованием локального демонстрационного репозитория. Первый сброс был применен к определенному файлу. Второй сброс был применен с опцией –soft. Третий сброс применяется с опцией –hard. Четвертый сброс был применен с опцией –mixed. Мы надеемся, что читатели правильно воспользуются командой `git reset` после прочтения этого руководства.

Читать  Руководство по Git. Часть 1. Введение в Git и базовую настройку

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
Поделиться в соц. сетях:


0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Рекомендуемое
В операционных системах типа UNIX и Linux журнал представляет собой…

Спасибо!

Теперь редакторы в курсе.