Я удалил файл из моего рабочего дерева, разделив его содержимое и переместив в отдельные файлы. Я сделал всю эту работу сразу, и теперь я хочу зафиксировать изменения как отдельные коммиты, при этом каждый коммит перемещает одну секцию большого файла в новый меньший файл.
Т.е. у меня есть:
Changes not staged for commit:
(use "git add/rm <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
deleted: big.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
small-1.txt
small-2.txt
small-3.txt
small-4.txt
no changes added to commit (use "git add" and/or "git commit -a")
Обычно, когда я ставлю свои изменения, я просто выбираю фрагменты или строки, которые имеют отношение к этому коммиту (например, git gui
или git add -p
). Но при удалении файла, когда я пытаюсь это сделать, мой запрос игнорируется - это либо весь файл, либо ничего.
Я знаю, что могу использовать git add -N
для неотслеживаемого файла, чтобы указать, что он будет добавлен , а затем выберите отдельные строки из этого файла, чтобы добавить его в первый коммит. Но выполнение git add -N
для удаленного файла не дает того же эффекта.
Итак: есть ли способ, которым я могу выделить отдельные строки из удаленного файла и распределить это удаление по нескольким коммитам? Это без необходимости go вернуть назад, воскресить файл и сделать удаления один за другим, что, конечно, является опцией грубой силы.