Banner

Git Reset to Remote Head - Как сбросить удаленную ветку в исходную точку

  • 2 августа, 20:18
  • 3839
  • 0

Ветвление - это основная концепция Git. Он может помочь настроить распределенный рабочий процесс для совместной работы и сделать процесс разработки более эффективным.

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

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

Что такое ветка в Git?

Ветка - это основная концепция Git и GitHub, которую вы будете использовать постоянно. Филиалы помогают управлять разными версиями одного проекта.

mainветка - всегда ветка по умолчанию в хранилище и считается «производственной и развертываемой код». Вы можете создать новые ветки, как prod-stagingи prod-currentот mainветки.


Что такое удаленная ветка в Git?

Удаленная ветка является ссылкой на состояние ветвей в удаленном хранилище .

Когда вы клонируете репозиторий, вы извлекаете данные из репозитория в Интернете или с внутреннего сервера, известного как удаленный (это выглядит примерно так (remote)/(branch)).

Что такое Origin (или Remote Head) в Git?

Слово origin - это псевдоним, созданный Git для замены удаленного URL-адреса удаленного репозитория. Он представляет ветвь по умолчанию на удаленном компьютере и является локальной ссылкой, представляющей локальную копию HEAD в удаленном репозитории.

Таким образом, origin / HEAD представляет собой ветвь по умолчанию на удаленном компьютере, которая определяется автоматически, когда вы клонируете репозиторий из Интернета.

Как сбросить удаленную ветку в исходную точку в Git

Теперь, когда у вас есть базовые знания о том, как работают  ветки, давайте решим нашу проблему и сбросим удаленную ветку в исходное состояние с помощью git reset --hardкоманды.

Перед тем, как сделать это (если вы делаете это в первый раз), убедитесь, что вы создали резервную копию своей ветки, прежде чем сбрасывать ее, на случай, если что-то пойдет не так. Вы можете сделать резервную копию так:

git commit -a -m "Branch backup"
git branch branch-backup

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

git fetch origin
git reset --hard origin/main

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

git clean -xdf
  1. -x  Флаг удаляет все неотслеживаемые файлы, в том числе игнорируемые сборки каталогов.
  2. -d  Флаг  Git для рекурсии в неотслеживаемые каталоги , когда не указан путь.
  3. -f  Флаг перезаписывает Git чистой конфигурации по умолчанию и начинает очистку неотслеживаемые файлов и каталогов.

Если имя вашего удаленного репозитория не «origin», а указанная ветка не является «main» в удаленном репозитории, не забудьте обновить приведенные выше команды с соответствующими именами. Можете использовать, git remote show originчтобы проверить это.


0 комментариев
Сортировка:
Добавить комментарий

IT Новости

Смотреть все