Я следую инструкциям на this answer from "Detach subdirectory into separate Git repository" о том, как использовать команду поддерева git, чтобы разбить подкаталог из репозитория git. Он работал в первом подкаталоге, но мой второй каталог делится на недостающие коммиты.Пытается разделить подкаталог на отдельные git-репо, но как я могу сохранить свои коммиты?
Мой дерево каталогов выглядит следующим образом:
GitBooks
|
------ SQLBasics
|
------ RubyProgramming
Я хочу, чтобы разделить оба эти в свои отдельные репозитории, и я уже сделал это на SQL-Basics
. Тем не менее, на RubyProgramming
всякий раз, когда я следую тем же инструкциям из приведенного выше ответа, подкаталог распадается и пропускает кучу коммитов. Я уверен, причина в том, что я изменил имя каталога от Ruby Programming
до RubyProgramming
(обратите внимание на промежуток между ними) в один момент времени, и я предполагаю, что он переносит только коммиты с RubyProgramming
(без пробела).
Мой вопрос в том, как переносить ВСЕ из коммитов из этого подкаталога, хотя я изменил его имя в какой-то момент времени. Можно ли сделать это?
Заранее спасибо.
Когда inputing первую команду, я получаю вывод: 'Rewrite 63feedc50f75677988c8365c2d65faaebe62cf47 (1/111) MV: переименовать RubyProgramming в Рубиновый Программирование: Нет такого файла или каталога дерево фильтр не удалось: мв RubyProgramming Рубин \ Programming' – Hunter
Пожалуйста * всегда * попытайтесь понять команду, прежде чем вслепую ее запустить. (В противном случае какой-нибудь джокер предложит что-то вроде 'rm -rf /' ...) Это особенно важно с 'git filter-branch', поскольку он может действительно разрушить ваш репозиторий при неправильном использовании. Первая команда берет каждую фиксацию репозитория и пытается переименовать этот каталог. Это, конечно, не удастся, если каталог уже переименован. Я добавил подходящий тест для ответа, но в зависимости от вашего фактического хранилища вы могли бы наткнуться и на другие проблемы. – michas