Git Revert vs Git Reset: отмена и корректировка изменений в истории Git

Git Revert и Git Reset две важные команды в Git для отмены и корректировки изменений в commit истории репозитория. Вот руководство по использованию Git Revert и Git Reset:

 

Git Revert

  • Git Revert позволяет вам создать новую фиксацию для отмены( revert) ранее зафиксированных изменений.

  • Для revert этого commit используйте следующую команду:

    git revert <commit_id>
    

    Замените <commit_id> идентификатором того, который commit вы хотите вернуть. Будет создан новый commit, отменяющий изменения в выбранном файле commit.

  • Revert не изменяет commit историю, но создает новую commit, чтобы отменить изменения.

 

Git Reset

  • Git Reset позволяет вам вернуться в предыдущее состояние, переместив HEAD текущую ветвь и на конкретную фиксацию.

  • Git Reset имеет три различных режима: --soft, --mixed(default), and --hard.

  • Чтобы перейти к reset текущей HEAD ветке и к a commit, используйте следующую команду:

    git reset --mode <commit_id>
    

    Замените <commit_id> идентификатором того, commit к которому вы хотите сбросить настройки.

  • Git Reset режимы:

    • -soft: Перемещает текущую HEAD и текущую ветки в указанный commit, сохраняя изменения предыдущей commit в промежуточной области. Используйте команду git reset --soft <commit_id>.
    • --mixed: Это режим "по умолчанию". Перемещает текущую HEAD и текущую ветки в указанный коммит и удаляет изменения предыдущей commit из промежуточной области. Используйте команду git reset --mixed <commit_id>.
    • --hard: Перемещает текущую HEAD и текущую ветки в указанную commit и отменяет все изменения предыдущей commit. Будьте осторожны при его использовании, так как любые незафиксированные изменения будут потеряны. Используйте команду git reset --hard <commit_id>.
    <commit_id>.
  • Git Reset изменяет commit историю и может привести к потере данных, поэтому используйте его с осторожностью.

 

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