мерзавец, как очистить клонированный репозиторий и отложить - PullRequest
5 голосов
/ 31 января 2012

Я использую usb, который я клонировал в своем репо, чтобы я мог перенести свою работу на дом и наоборот. Много раз USB имеет проблемы и портит хранилище. Если я попытаюсь почистить его и отложить, он покажет все старые (собственные) файлы как удаленные, а также все исходные файлы как измененные.

Я пытался очистить клонированное хранилище, удалив папку или переименовав ее, или событие delete .git и reclone, но оно по-прежнему показывает старые файлы как удаленные. Есть ли способ это исправить?

Ответы [ 2 ]

4 голосов
/ 31 января 2012

Я бы действительно рекомендовал, чтобы иметь чистую версию вашего репо, сделать связку .
(см. git bundle man-страницу ).
Убедитесь, что вы также не забыли теги в своем комплекте .
Альтернативы обсуждаются в разделе " push vs. bundle vs. tar zcvf - для резервного копирования всего локального .git ".

Таким образом, вы получите только один файл для резервного копирования на ваш USB-ключ (и вы можете клонировать / извлечь из этого файла пакета).
Один файл намного сложнееиспорченный;)

1 голос
/ 31 января 2012

Вы должны использовать bare репозиторий, то есть один без рабочего дерева, на USB-ключе.Хранилище чуть-чуть создается с git init --bare или git clone --bare.

«Повреждение», которое вы видите, заключается в том, что git push не обновляет рабочий каталог целевого репозитория с непокрытыми конечными объектами.Если рабочая копия извлекается из ветви, которую вы отправляете, это приведет к недействительному состоянию рабочей копии.

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

Если, с другой стороны, вы собираетесь работать с USB-ключом, либо всегда тяните его (что, конечно, обновляет рабочую копию)) или установите соответствующие хуки для обновления рабочей копии (есть два способа, в зависимости от того, как вы собираетесь с ней работать).

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