Добавить файл в предыдущую фиксацию
Если вы уже запустили ветку, над которой работаете, сначала просмотрите справочные страницы . В частности, обратите внимание:
Перебазирование (или любая другая форма переписывания) ветки, над которой работают другие, - плохая идея: любой, кто находится ниже по течению, вынужден вручную исправлять свою историю.
Однако, если вы не толкнули ветку, приготовьтесь войти в опасную зону .
Найдите хеш фиксации
Во-первых, вам нужно знать хэш коммита, который вы хотите добавить. Об этом свидетельствует git log. На самом деле вы хотите указать фиксацию до той, которую вы хотите добавить. (Вы можете рассматривать его как начальный индекс части коммитов, которые вы хотите изменить.) Вы можете убедиться, что у вас есть правильный коммит, запустив git log -1 HEAD~n. Где n - целое число, которое вы увеличиваете, пока не получите правильную фиксацию. Или вы могли посчитать, нет, правда.
Но, если вы считаете, по крайней мере, подтвердите, что у вас есть правильная фиксация git log -1 HEAD~5или что бы там ни было. Вы НЕ должны видеть коммит, который хотите добавить.
ОПАСНО , хе
Теперь вы готовы к бегу git rebase -i HEAD~5. Или какой у вас хеш фиксации. Откроется ваш любимый текстовый редактор и файл для редактирования. Этот файл представляет собой список дел для команды rebase. Комментарии в файле расскажут, какие у вас есть варианты. Просто найдите строку с коммитом, к которому вы хотите добавить, и в этой строке измените «выбрать» на «редактировать». Теперь сохраните и закройте файл.
Перебазирование остановится, как только достигнет фиксации, которую вы сказали ему отредактировать. Запустите, git statusчтобы увидеть дополнительную информацию, которую он предоставляет. Подготовьте ваши файлы для добавления в коммит git add .или с другими именами файлов.
Тогда сделай git commit --amend. Это изменит коммит, который вы выбрали для редактирования.
Наконец, беги git rebase --continue.
В случае сомнений, в Linux вы можете узнать больше, прочитав документацию, выводимую man git-rebaseили git --help rebase.