meta data for this page
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| git:issues [2019/07/23 13:12] – niziak | git:issues [2023/07/17 16:02] (current) – niziak | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== | + | ====== |
| + | |||
| + | ====== fsck: dangling commit ===== | ||
| + | |||
| + | List details about dangling commits ([[https:// | ||
| + | <code bash> | ||
| + | git fsck --lost-found | grep " | ||
| + | </ | ||
| + | |||
| + | Cleanup: | ||
| + | <code bash> | ||
| + | git reflog expire --expire=now --all | ||
| + | git gc --prune=now --aggressive | ||
| + | git repack -a -d | ||
| + | </ | ||
| + | |||
| + | ====== Reduce | ||
| It is important to check if git configured with default settings. | It is important to check if git configured with default settings. | ||
| - | Especially forcing of creation of multiple smaller packs significantly increases | + | Especially forcing of creation of multiple smaller packs significantly increases |
| + | I.e. changing one 1.2G pack into multiple 256MB packs let, increases size of packs to 4.3GB :( | ||
| <code bash> | <code bash> | ||
| git config --global -l | git config --global -l | ||
| git config --system -l | git config --system -l | ||
| </ | </ | ||
| + | |||
| Especially take attention for options like: | Especially take attention for options like: | ||
| * deltaCacheSize = 10m | * deltaCacheSize = 10m | ||
| Line 13: | Line 32: | ||
| + | Command <code bash>git gc</ | ||
| + | Compression of objects is also performed in RAM, then packs are written onto disc. | ||
| + | [[https:// | ||
| + | |||
| + | |||
| + | To prevent touching existing packs and exhaust system memory paramter '' | ||
| + | Another possibility is to mark some packs as '' | ||
| Remove unreachable objects: | Remove unreachable objects: | ||
| <code bash> | <code bash> | ||
| + | |||
| + | git count-objects -v | ||
| + | git gc --auto # this is enough to remove loose objects and repack repo | ||
| git count-objects -v | git count-objects -v | ||
| + | # more instruction | ||
| git repack -Ad # Remove dangling objects from packfiles | git repack -Ad # Remove dangling objects from packfiles | ||
| git prune # Remove dangling loose objects | git prune # Remove dangling loose objects | ||