remove - tag version in git




вишня-выбрать фиксацию и сохранить оригинальный код SHA (2)

Я хотел бы, чтобы cherry-pick совершить фиксацию на извлеченном удалении, сохраняя его исходный код фиксации SHA (моя текущая ветвь основана на этом удалении, который я переустановил в предыдущее состояние).


Согласно вашим комментариям к другим ответам, я думаю, вы просто хотите сбросить некоторые удаленные фиксации. Для этого вы можете использовать git reset --hard <SHA> . Обратите внимание, что это отбросит все ваши (незафиксированные) изменения в рабочем каталоге и все фиксации, которые вы сделали в этой ветке, больше не будут доступны.

Если это не то, что вы хотите (или вы не уверены), пожалуйста, более четко опишите, что вы сделали, и что вы хотите сделать или что вы пытаетесь выполнить.


Хеш git SHA вычисляется из разных частей информации:

  1. Дерево, на которое оно ссылается; в основном, текущее содержимое репозитория в ветке, в которой появляется коммит.
  2. SHA родительского commit (s) .
  3. Сообщение о фиксации .
  4. Информация об авторе : имя, адрес электронной почты и временная метка.
  5. Информация об участниках : имя, адрес электронной почты и временная метка.

Даже если вы отредактируете собранную вишню фиксацию, чтобы дерево, сообщение фиксации, информация об авторе и коммиттерах были точно такими же, SHA родительской фиксации (или совершает, если имеет дело с фиксацией слияния) всегда будет отличаться. Таким образом, вы не сможете генерировать один и тот же SHA-хэш после набора вишни (если только не обнаружите столкновение SHA;)).







cherry-pick