BFG Repo cleaner: удаление множества папок с одинаковыми именами.Размер все тот же - PullRequest
0 голосов
/ 03 апреля 2019

У меня огромный репозиторий git, и я хочу уменьшить его размер.Для этого я хочу удалить папку, которая существует много раз в разных подкаталогах с одинаковыми именами.

Репозиторий git имеет следующую структуру папок:

- ID1
   - Graphs
- ID2
   - Graphs

Я хочуудалите все папки Graphs, потому что они огромные.Я запустил java -jar ~/Downloads/bfg-1.13.0.jar --delete-folders Graphs --no-blob-protection ~/path/to/Repo со следующим выводом:

Using repo : ~/path/to/Repo/.git

Found 0 objects to protect
Found 3 tag-pointing refs : refs/tags/VERSION1.4, refs/tags/VERSION1.5, refs/tags/VERSION3.1
Found 5 commit-pointing refs : HEAD, refs/heads/master, refs/remotes/origin/HEAD, ...

Protected commits
-----------------

You're not protecting any commits, which means the BFG will modify the contents of even *current* commits.

This isn't recommended - ideally, if your current commits are dirty, you should fix up your working copy and commit that, check that your build still works, and only then run the BFG to clean up your history.

Cleaning
--------

Found 284 commits
Cleaning commits:       100% (284/284)
Cleaning commits completed in 268 ms.

Updating 3 Refs
---------------

    Ref                           Before     After
    -------------------------------------------------
    refs/heads/master           | 7f5ba511 | fcd2600c
    refs/remotes/origin/develop | c30fa798 | 7e345ac0
    refs/remotes/origin/master  | 7f5ba511 | fcd2600c

Updating references:    100% (3/3)
...Ref update completed in 20 ms.

Commit Tree-Dirt History
------------------------

    Earliest                                              Latest
    |                                                          |
    ...DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDm

    D = dirty commits (file tree fixed)
    m = modified commits (commit message or parents changed)
    . = clean commits (no changes to file tree)

                            Before     After
    -------------------------------------------
    First modified commit | 3fba1762 | 7a24f280
    Last dirty commit     | 0ea27985 | 1cc26472


In total, 490 object ids were changed. Full details are logged here:

    ~/path/to/Repo.bfg-report/2019-04-03/16-35-48

BFG run is complete! When ready, run: git reflog expire --expire=now --all && git gc --prune=now --aggressive

Затем я следовал инструкции и запустил git reflog expire --expire=now --all && git gc --prune=now --aggressive.На это ушло не менее 5 часов.Вывод (я пытался перевести):

Object count: 11191, Fertig.
Counting objects: 100% (11191/11191), Fertig.
Delta Compression is using up to 12 threads.
compress objects: 100% (11115/11115), Fertig.
write objects: 100% (11191/11191), Fertig.
Total 11191 (Delta 1866), Re-used 5522 (Delta 0)

Теперь, после его завершения, размер репозитория лишь немного меньше.

Если посмотреть в извлеченный каталог, размер только<50MB.Но размер папки <code>.git составляет> 19 ГБ.При просмотре истории кажется, что папки Graphs исчезли.

Я не понимаю, почему размер хранилища все еще так велик, но папки фактически исчезли в истории фиксации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...