Как изменить расположение репозитория git-bare из-за проблем с пространством? - PullRequest
0 голосов
/ 18 сентября 2018

У меня есть git-bare хранилище под x:/Archivos Python/EPPTRA2.git/, и вся команда вытягивает и выталкивает изменения из этого хранилища./x - это общий диск в нашей офисной сети.

Недостаточно места

Однако недавно мне пришлось нажать много больших файлов, и оказалось, что не хватает места.

$ git push
Counting objects: 1077, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1073/1073), done.
remote: fatal: write error: Not enough space
fatal: sha1 file '<stdout>' write error: Broken pipe
error: failed to push some refs to 'x:/Archivos Python/EPPTRA2.git/'

Чего я хочу добиться

Я хотел бы переместить репозиторий git-bare в другое место, скажем, /s/EPPTRA.git/, которое находится на другом общем сетевом диске с достаточным пространством.А затем обновите локальные репозитории моих товарищей по команде, чтобы они указывали на новое местоположение хранилища git-bare.

Вопросы

Как изменить местоположение хранилища git-bare?

Как я могу перенести мой последний коммит в новое хранилище git-bare?

Какие шаги мне нужно сделать после того, как все мои товарищи по команде укажут на новое местоположение репозитория git-bare?

Я ищу команды из git-bash, чтобы выполнитьэти задачи.

1 Ответ

0 голосов
/ 18 сентября 2018

Я верю, что смог бы достичь того, чего хотел правильно.Я полагаю, что могут быть и другие способы.

Шаг 1: создать новый репозиторий git-bare

Сначала из нового местоположения /s Я создал пустой репозиторий:

$ cd /s
$ git init --bare EPPTRA2.git
Initialized empty Git repository in S:/EPPTRA2.git/

Шаг 2: зеркально отразить непокрытый репозиторий в новом git-bare-репозитории

После этого я пошел в непокрытый репозиторий, в котором не было моих последних коммитов, и отразил репозиторий в пустом репозитории.(У меня на самом деле был репозиторий под /s/epptra2, который был не голым и мог использовать его):

$ cd /s/epptra2
$ git push --mirror /s/epptra2.git
Counting objects: 22412, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (7300/7300), done.
Writing objects: 100% (22412/22412), 1.68 GiB | 1.96 MiB/s, done.
Total 22412 (delta 17271), reused 19487 (delta 15075)

Шаг 3: Изменить местоположение удаленного источника

Затем мне пришлось удалитьпредыдущий источник и создайте новый:

$ cd /d/epptra2
$ git remote rm origin
$ git remote add origin /s/epptra2.git
$ git config master.remote origin
$ git config master.merge refs/heads/master
$ git branch -u origin/master

Шаг 4: Перенесите зафиксированные изменения в новый голый репозиторий

И, наконец, я выдвинул коммиты, которые я сделал, из своего локального репозитория:

$ git push
Counting objects: 1077, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1073/1073), done.
Writing objects: 100% (1077/1077), 4.53 GiB | 922.00 KiB/s, done.
Total 1077 (delta 441), reused 0 (delta 0)
To S:/epptra2.git
   da05677..d1c8610  master -> master

Шаг 5: обновить удаленное происхождение всех локальных репозиториев

Для локальных репозиториев моих товарищей по команде мне пришлось повторить шаг 3 и затем выполнить git pull доубедитесь, что все работает правильно.

Примечание : /d - это локальный диск на моем ПК, а /s и /x - сетевые диски.

...