Я хочу получить файлы сброса для предыдущего коммита, но оставаясь на текущем коммите.Так что если я сделаю:
git init
touch 1; git add 1; git commit -m "1"
touch 2; git add 2; git commit -m "2"
touch 3; git add 3; git commit -m "3"
Это даст 3 коммита.Я хочу остаться на коммите # 3, но перевести стадию в состояние, которое было у меня на коммите # 2.Я попытался сделать следующее:
git reset --(hard|soft|mixed|merge|keep)
git checkout
git revert
Итак, после некоторой магической команды blah
Мне нужен следующий результат:
git log
показывает, что HEAD все еще находится на коммите # 3 ls .
показывает, что у меня есть только файлы 1
и 2
в моей файловой системе. git diff
или git diff --cached
показывает, что файл 3
был удален.
Я могу сделать git reset --hard <hash-2>
, но это переместит HEAD
совершить # 2.