git reset --hard
означает git reset --hard HEAD
, где HEAD — это ссылка (ссылка) на текущую проверенную фиксацию или последнюю фиксацию в вашей текущей ветке, т. е. не меняйте ветку, но избавляйтесь от всех локальных изменений, чтобы удалить все поэтапные и неустановленные изменения. Команда git reset
предоставляет множество опций, которые очень хорошо объясняются здесь:
Можете ли вы объяснить, что делает git reset простым английским языком?< /а>
Принимая во внимание, что выбор вишни означает выбор фиксации из одной ветки и применение ее к другой. Это можно сделать, если вы, например. допустил ошибку и внес изменения в неправильную ветку, но не хочет объединять всю ветку. Вы можете просто, например. отменить фиксацию и выбрать ее в другой ветке.
Если в случае, если вы нажимаете не на ту ветку или у вас есть проблемы с вашей веткой, которая показывает много коммитов от других пользователей (когда работают несколько пользователей) из-за старой истории git в вашей системе, вы можете удалить текущую ветку, сохранив вашу фиксацию безопасные хэши, а затем вишневый выбор коммитов в новую ветку, которая будет обновлена из мастера. (Этот случай иногда случается, и cherry-pick
является вариантом, когда rebase
или merge
не решает проблему)
Цитата взята из этого ответа:
Источник: https://stackoverflow.com/a/30218784/4207394
Использование git cherry-pick Команда git cherry-pick commit применяет изменения, внесенные именованным коммитом, в текущую ветку. Он представит новую, отдельную фиксацию. Строго говоря, использование git cherry-pick не изменяет существующую историю в репозитории; вместо этого он добавляет к истории. Как и в случае с другими операциями Git, которые вносят изменения в процессе применения различий, вам может потребоваться разрешить конфликты, чтобы полностью применить изменения из данного коммита. Команда git cherry-pick обычно используется для внесения определенных коммитов из одной ветки в репозиторий в другую ветку. Обычно используется для пересылки или обратного переноса коммитов из ветки обслуживания в ветку разработки.
Поэтому всякий раз, когда вы хотите сбросить коммит или ваши изменения, вы можете использовать git reset
и событие, если вы хотите сбросить коммит и сохранить изменения в безопасности этого коммита, вы можете использовать git reset
с опцией --soft
. И если вы хотите скопировать коммит из какой-то другой ветки в какую-то другую, вы можете использовать git cherry-pick
. git reset
имеет множество доступных опций, например:
Чтобы сбросить на текущий HEAD
:
git reset --hard HEAD
Чтобы сбросить один коммит и удалить изменения:
git reset --hard HEAD~1
это 1 может быть n для удаления любого количества коммитов. А также для сохранения изменений коммитов можно использовать --soft
вместо --hard
.
Для cherry-pick
синтаксис такой:
git cherry-pick <commit-hash>
person
Deepesh
schedule
12.01.2017