git filter-branch и BFG очиститель репо, создающий дубликаты веток - PullRequest
0 голосов
/ 11 сентября 2018

Я работаю над переносом git-репо с одного провайдера на другого.В рамках этого процесса новое репо отклоняется по запросу из-за размера файла в истории (файл был удален несколько месяцев назад, но все еще существует в истории).

Я нашел и git filter-branch, и BFG repo-cleaner как варианты, чтобы исправить это.Они работают, как и ожидалось, и позволяют мне перейти к новому репо, но я нахожу любую ссылку с подписью task/my-branch, дублирующуюся до Task/my-branch, и я не могу найти никаких ссылок, которые объяснили бы, почему или как этого избежать.В худшем случае я могу почистить их вручную после переезда, но хотел бы лучше понять, почему это происходит и есть ли способ предотвратить это.

шагов, выполненных с помощью очистителя BFG

1) git clone --bare ssh: //path/to/repo.git

2) cd repo.git

3) git branch -a

наблюдать такие ветки, как task/my-branch

4) cd ..

5) java -jar bfg.jar --delete-files repo.git

6) git reflog expire --expire = now --all && git gc --prune = now --aggressive

7) git branch -a

наблюдать за ветвями, такими как task/my-branch AND Task/my-branch

аналогичный процесс с git filter-branch

1) git clone --bare ssh: // path / to / repo.git

2) cd repo.git

3) ветка git -a

наблюдать такие ветки, как task/my-branch

4) ветка git filter-f --prune-empty --tag-name-filter cat --tree-filter 'rm -f - --all

5) git for-each-ref --format = "% (refname) "refs / original / |xargs -n 1 git update-ref -d

6) git reflog expire --expire = now --all && git gc --prune = now --aggressive

7) git branch-a

наблюдать за ветвями, такими как task/my-branch AND Task/my-branch

...