Есть ли способ git filter-branch --subdirectory-filter
без перемещения подкаталога в корень?
Я перебазировал первоначальную фиксацию, чтобы вернуть их обратно, но это больно и не получается все, когда файлы добавляются позже. В общем, не лучший метод.
Я также нашел фильтр подкаталогов Git с существующей структурой каталогов, но он принят решение кажется мне хакерским/опасным.
--tree-filter
? (Это очень медленно, но--tree-filter
позволит легко получить желаемый результат.) В качестве альтернативы вы можете использовать--index-filter
, который удаляет все, что не находится в подкаталоге, но это немного сложнее. - person torek   schedule 19.03.2016rm
s наgit rm --cached
, и вместо чтения рабочего дерева вы читаете дерево git, связанное с фиксацией, которую фильтрует индексный фильтр (используяgit ls-tree
). - person torek   schedule 21.03.2016