Я нахожусь в процессе «документирования задним числом» истории разработки приложения путем перемещения существующих снимков дерева каталогов проекта (которые были сохранены тогда в виде простых и примитивных копий папок, а не git или любых других контроль версий) в git.
После борьбы с изучением новых концепций git и новой терминологии, этот процесс миграции, казалось, шел хорошо, когда я внезапно обнаружил: «Упс ... мой последний git commit
+ git branch <branchname>
пропустил один снимок. «
Поскольку порядок создания снимков важен для меня, я бы хотел полностью отменить последние git commit
+ git branch <branchname>
, , как если бы они никогда не выполнялись .
То есть «исправление путем изменения коммита», как это определено внизу главы Отмена в Git в книге Git.
Все по-прежнему локально (я не «публиковал» и ничего не «толкал»), поэтому я считаю, что это соответствует предупреждениям о «переписывании истории». :)
Не могли бы вы подтвердить или исправить следующие шаги, необходимые для моего понимания?
- Очистить рабочий каталог (без
удаление подкаталога
.git
, из
Конечно)
git checkout <folder-name>
(возвращение рабочего каталога в
состояние было сразу после
Я совершил не ту папку и
отметил это через ветку git)
git branch -D
<branchname-of-mistaken-folder-commit>
git commit --amend
В этот момент я ожидаю, что git больше не будет помнить, что последняя ветка и фиксация когда-либо были выполнены , а рабочий каталог содержит ошибочную папку (которую я буду удалять, полностью заменив на один я пропустил). Это правильно?