git rebase -i
ожидает, что вы скажете ему, над каким диапазоном коммитов работать.Чаще всего используется
git rebase -i HEAD~4
, что позволяет вам "редактировать" последние 4 коммита в текущей извлеченной ветке.
Я не уверен, почему вы захотите это сделатьэто "на файл".Кроме того, 'rebase -i' вызовет у вас головную боль, если у вас там будут слияния.Из того, что я могу сделать вывод, вы можете сделать следующее:
Установить текущий коммит в начале ваших изменений, но сохранить рабочий каталог как есть.
git reset --mixed HEAD~10
Это будет двигатьсяВы вернетесь туда, откуда начали, если у вас было 10 коммитов для ваших изменений.«mixed» гарантирует, что вы не внесете никаких изменений, и индекс будет чистым.
Затем внесите изменения в каждый отдельный файл:
git add path/to/one/of/the/files/file.txt
git commit -m "added feature X to file.txt"
повторите для остальныхфайлы.Проверяйте в процессе работы с помощью git status
.
Когда вы нажимаете, вам может понадобиться добавить опцию -f (--force), если вы уже нажали некоторые из этих коммитов.Если другие отрабатывали эти коммиты, дайте им знать, что вы это сделали.Им придется отменить свои изменения.