Как вы перемещаете коммит в область размещения в git? - PullRequest
112 голосов
/ 27 августа 2011

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

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

Ответы [ 2 ]

202 голосов
/ 27 августа 2011
git reset --soft HEAD^

Это сбросит ваш индекс на HEAD^ (предыдущий коммит), но оставит ваши изменения в области подготовки.

Есть несколько удобных диаграмм в git-reset документы

Если вы работаете в Windows, вам может понадобиться использовать этот формат:

git reset --soft HEAD~1
0 голосов
/ 01 мая 2018

A Simple Way

  1. Переданные файлы в область подготовки

    git reset --soft HEAD^1

  2. Staging to UnSatge : (используйте «git reset HEAD ...» для отключения)

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

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

Для ясности обратитесь к рисунку ниже:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...