git remotes одного и того же рабочего каталога разные (или, по крайней мере, так кажется)

У меня есть рабочий каталог, который я отслеживаю с помощью GIT на одном из своих компьютеров, и в какой-то момент в прошлом я создал удаленное (голое) хранилище на внешнем жестком диске. Этот пульт называется origin. Затем я клонировал это репо на другие компьютеры позже. Поскольку я создал origin, я постоянно обновляю его, передавая в него все свои изменения с любых компьютеров. Затем я возвращаю эти изменения на другие компьютеры, чтобы мои рабочие каталоги остались прежними.

На днях решил реорганизовать свой внешний HDD. Я создал новое голое репо (назовем его other_remote) в другом месте на диске, добавил его как новый удаленный в мой рабочий каталог на одном из моих компьютеров и отправил в него этот рабочий каталог.

Теперь я собирался стереть репозиторий origin со своего жесткого диска, но прежде чем продолжить, у меня были сомнения, и я решил сравнить два удаленных репозитория, чтобы убедиться, что я не делаю того, о чем буду сожалеть.

Я начал с du и получил вот это:

$ du -sch origin                                                                                                                                  
207M    origin
207M    total

$ du -sch other_remote                                                                                                                      
34M     other_remote
34M     total

Вот это меня испугало! Очевидно, я еще не стер origin. Я провел много исследований (здесь и в Google), но не смог найти никакой информации об этом.

Единственное, что я нашел, это то, что кто-то сказал, что вы можете использовать git count-objects -v, чтобы получить точную оценку размера репо. Но опять же, эта команда дает совершенно разные результаты для двух моих голых репозиториев:

$ cd path/to/origin
$ git count-objects -v
count: 137
size: 211976
in-pack: 0
packs: 0
size-pack: 0
prune-packable: 0
garbage: 0

$ cd other/path/to/other_remote
$ git count-objects -v
count: 6
size: 9888
in-pack: 131
packs: 1
size-pack: 24725
prune-packable: 0
garbage: 0

Может ли кто-нибудь помочь мне понять, почему мои два удаленных репозитория такие разные? Безопасно ли стереть origin и оставить только other_remote? Потеряю ли я какую-то информацию, если сделаю это?

Большое спасибо


person couash    schedule 08.11.2012    source источник


Ответы (1)


Во-первых, git count-objects учитываются только неупакованные объекты (и в голом< /em>, они, скорее всего, будут упакованы после первоначальной отправки).
См. также "Почему мой репозиторий git такой большой?" из-за причин большего репо для того же количества файлов и "Нужно ли мне когда-нибудь запускать git gc на голом репозитории?" (незакрепленные объекты из-за болтающихся совершает)

Дело в том, что новое голое репо, скорее всего, будет меньше, чем активное не голое репо с той же историей.

Затем убедитесь, что вы отправили все (все ветки и все теги).
См., например, "Как мне отправить GitHub все ветки при добавлении существующего репо?".
Вы только git push myNewBareRepo или git push --all myNewBareRepo?

person VonC    schedule 08.11.2012