Как я могу преобразовать удаленные репозитории non-bare в голые репозитории без повторного клонирования на локальной машине в git? - PullRequest
1 голос
/ 13 апреля 2009

У меня есть удаленный компьютер RemoteMachine, который содержит клон другого компьютераWeNotConcern с:

git clone MachineWeNotConcern/prj prj

Мой локальный машинный клон вот так:

git clone RemoteMachine/prj local_prj

Теперь я хочу сделать репозитории RemoteMachine пустыми (как?), Как если бы я проверял:

git clone --bare MachineWeNotConcern/prj prj

И я не хочу повторно клонировать мои голые репозитории RemoteMachine, потому что это всегда занимает много времени.

Как мне этого добиться?

1 Ответ

4 голосов
/ 13 апреля 2009

Вы можете создать новый клон из вашего локального репо на удаленной машине проекта с помощью --bare. а именно:

git clone --bare prj bare_prj

Затем удалите оригинальный prj. Это было бы быстрее, чем снова клонировать его из оригинальной машины.

РЕДАКТИРОВАТЬ: Другое решение:

Похоже, что вы можете превратить свое репо в голое репо:

  • изменение файла .git / config, чтобы иметь bare = true вместо bare = false
  • удаление содержимого prj / *, кроме файла .git
  • перемещение содержимого .git dir в prj / и удаление .git dir

По крайней мере, мне кажется, что это работает, но могут быть причины, по которым это не получится, насколько я знаю.

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