Я верю, что смог бы достичь того, чего хотел правильно.Я полагаю, что могут быть и другие способы.
Шаг 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
- сетевые диски.