Как переместить фиксацию в промежуточную область в git?


Если вы хотите переместить фиксацию в промежуточную область-то есть раскомментировать ее и переместить все изменения, которые были в ней, в промежуточную область (эффективно помещая ветвь в состояние, в котором она была бы до фиксации) - как вы это делаете? Или это то, что вы не можете сделать?

самое близкое, что я знаю, как это сделать, это скопировать все файлы, которые были изменены в фиксации в другое место, сбросить ветку на фиксацию перед фиксацией, которую вы пытаетесь чтобы перейти в промежуточную область, переместите все скопированные файлы обратно в хранилище, а затем добавьте их в промежуточную область. Это работает, но это не совсем хорошее решение. То, что я хотел бы сделать, это просто отменить фиксацию и переместить ее изменение в промежуточную область. Можно ли это сделать? И если да, то как?

2 96

2 ответа:

git reset --soft HEAD^

это сбросит ваш индекс HEAD^ (предыдущая фиксация) но оставьте свои изменения в промежуточной области.

есть немного удобные схемы на git-reset docs

если вы находитесь на Windows, вам может понадобиться использовать следующий формат:

git reset --soft HEAD~1

Простой Способ

  1. зафиксированные файлы в промежуточной области

    git reset --soft HEAD^1

  2. постановка на UnSatge : (используйте " git reset HEAD ..."чтобы отменить добавление)

    git reset HEAD git commands.txt or git reset HEAD *ds.txt

здесь, *--> все файлы заканчиваются на ds.txt для unstage.

см. ниже Рис для ясности:

enter image description here