Я работаю над переносом 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