Почему у меня папка .git / objects 175 ГБ?

Проблема: Моя .git/objects папка ОГРОМНА.

Я использую Atom только как текстовый редактор, и с ним я использую git. Я предполагаю, что это ошибка в том, как я это делаю, но может ли кто-нибудь объяснить причину, по которой он такой большой?

http://imgur.com/a/Sv4Z3

Я определенно не делаю ничего, кроме простых приложений. Что еще странно, так это то, что внутри папки objects этого много.

http://imgur.com/a/fu4Mv

Что меня действительно сбивает с толку. И каждая из этих папок имеет размер 200+ мегабайт каждая, и они создаются одновременно.


person Jolaroux    schedule 14.05.2017    source источник
comment
Каталог .git/objects содержит (в виде отдельных или упакованных объектов) каждую версию каждого файла, который вы когда-либо зафиксировали. Если вы добавляете и фиксируете большой двоичный файл или базу данных, а затем удаляете его, этот большой файл остается там как часть истории, которую вы сказали Git сохранить навсегда. (Вы можете переписать историю, чтобы удалить ненужную историю / большие файлы, но есть последствия.) См. stackoverflow.com/q/10622179/1256452 о том, как найти то, что занимает много места.   -  person torek    schedule 14.05.2017
comment
Но разве 175 ГБ не являются невероятно огромными для всего лишь недели или двух фиксации пары текстовых файлов? Я чувствую, что в этом есть что-то еще, эта папка не была такой большой на 0,01% неделю назад   -  person Jolaroux    schedule 14.05.2017
comment
Вы зафиксировали неожиданные файлы? Временные файлы во время компиляции или скомпилированные двоичные файлы, которые следует игнорировать.   -  person ElpieKay    schedule 14.05.2017


Ответы (1)


Но разве 175 ГБ не являются невероятно огромными для всего лишь недели или двух фиксации пары текстовых файлов?

Это произойдет, если ваш .gitignore настроен неправильно и "добавить все" (из пакета Atom git-plus) добавьте источники и сгенерированный двоичный файл (из сборки указанных источников)

Проверьте, может ли BFG помочь вам удалить эти большие файлы (выполняется в чистый клон вашего репо)

person VonC    schedule 14.05.2017
comment
Сделаю. Спасибо! Вы знаете, что я могу сделать, чтобы исправить свой .gitignore? - person Jolaroux; 14.05.2017
comment
@Jolaroux Сначала проверьте свой статус git. Во-вторых, для любого большого файла, который вы могли бы найти в нем, проверьте, что игнорируется, а что нет, с помощью git check-ignore -v -- aFile. В зависимости от характера вашего проекта см. Также gitignore.io. - person VonC; 14.05.2017
comment
Обратите внимание, что если вы удалите некоторые файлы, а затем добавите их снова, все они станут снимками и снова будут храниться отдельно. Это может привести к тому, что один и тот же файл будет сохранен несколько раз в объектах git. - person Vishwanath; 14.05.2017