Как я обычно проследовать:Git удаление файлов из истории, не дублируя предварительную ветвь совершает
На самом деле, чтобы удалить некоторые файлы с полной истории, я использую следующий сценарий (который я называю ГИТ-хруст):
#!/bin/bash
#
# git crunch <filenames>
#
git filter-branch --index-filter "git rm --cached --ignore-unmatch $*"
rm -rf .git/refs/original/
git reflog expire --expire=now --all
git fsck --full --unreachable
git repack -A -d
git gc --aggressive --prune=now
Он отлично работает, чтобы удалить указанные файлы из (полной) истории.
Контекст:
У меня есть 1 проект, который разбивается на 4 ветви. Вот резюме сетевая диаграмма, которая показывает до 2 из 4 поддерживаемых веток:
┏ a937fd9 (1 year, 9 months ago) <new repo>
...
60 commits later, we create a branch "probe" which is displayed at left of the network
...
┣━┓
┣ ┃ c483a22 (8 months ago)
┃ ┣ f7b402c (3 months ago)
...
┃ ┣━┓
┣ ┃ ┃ 38bb93d (11 days ago)
┣ ┃ ┃ 1ef8202 (11 days ago)
┃ ┃ ┣━[remotes/origin/S...H_adjust]──adb243f (8 days ago)
┃ ┣ ┃ cd02775 (8 days ago)
┃ ┣━┛
┃ ┣ f9e40a3 (8 days ago)
┃ ┣ a30eb6f (7 days ago)
┃ ┣━[remotes/origin/S...H_verif]──4a3fe66 (7 days ago)
┃ ┗━[remotes/origin/HEAD]──[remotes/origin/master]──b452f85 (7 days ago)
┣ 91477ae (4 days ago)
┗━[HEAD]──[probe]──[remotes/origin/probe]──366c890 (48 minutes ago)
Мой probolem является:
У меня есть 3 большие файлы в этом хранилище, которое может быть удален с самого начала (Creaton репозитория), но если я использую свой скрипт, он будет работать только в одной ветке, и он воссоздает 4 отдельных ветви с начала до последнего коммита, что произошло сегодня.
Моего вопрос:
Как я могу достичь этого удаления файлов 3 frmo всей своей истории, не отделяя свои ветви с самого начала? Или есть способ переписать всю цельность и удалить файлы со всех ветвей сразу, чтобы я мог сохранить свою эволюционную сеть, а «общая» совершает неповрежденную (так что я не получаю мои первые котировки, повторяющиеся четыре раза)?
Dupe - http://stackoverflow.com/questions/7430717/git-filter-branch-on-all-branches –