Для объединения пересмотра 3 и 4 в единственный пересмотр можно использовать перебазу мерзавцев. Если Вы хотите удалить изменения в пересмотре 3, необходимо использовать команду редактирования в интерактивном переосновном режиме. Если Вы хотите объединить изменения в единственный пересмотр, используйте сквош.
я успешно использовал этот метод сквоша, но никогда не должен был удалять пересмотр прежде. Переосновная мерзавцем документация при "Разделении фиксаций" должна, надо надеяться, дать Вам действительно идею понять его. (Или кто-то еще мог бы знать).
Запускают его с самой старой фиксации, которую Вы хотите сохранить как есть:
git rebase -i
редактор будет разожжен со всеми фиксациями в Вашем текущем ответвлении (игнорирующий фиксации слияния), которые прибывают после данной фиксации. Можно переупорядочить фиксации в этом списке к содержанию основы, и можно удалить их. Список более или менее походит на это:
pick deadbee The oneline of this commit pick fa1afe1 The oneline of the next commit ...короткие описания просто для Вашего удовольствия; переоснова мерзавца не посмотрит на них, но в именах фиксации ("deadbee" и "fa1afe1" в этом примере), не удаляйте или редактируйте имена.
Путем замены команды "выбирают" с командой "редактирование", можно сказать переоснове мерзавца останавливаться после применения той фиксации, так, чтобы можно было отредактировать файлы и/или сообщение о фиксации, исправить фиксацию и продолжить повторно базироваться.
, Если Вы хотите свернуть две или больше фиксации в одну, замените команду "выбор" "сквошем" для второй и последующей фиксации. Если фиксации имели различных авторов, это припишет раздавленный, соглашаются на автора первой фиксации.
Только что сделал
, чтобы избавиться от emptyDirectory в проекте. Признайте, что возиться с внутренними данными CVS незаконно, но похоже, что это сработало (cvs версии 1.12.13).