首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于空间问题,如何更改git-裸存储库位置?

由于空间问题,如何更改git-裸存储库位置?
EN

Stack Overflow用户
提问于 2018-09-18 15:00:00
回答 1查看 621关注 0票数 0

我在x:/Archivos Python/EPPTRA2.git/下有一个x:/Archivos Python/EPPTRA2.git/存储库位置,所有的团队都在从这个存储库中提取和推送更改。/x是我们办公网络中的共享磁盘。

空间不足

然而,最近我不得不推送许多大文件,发现没有足够的空间。

代码语言:javascript
复制
$ 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的命令。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-18 16:45:18

我相信我能正确地实现我想要的。我想可能还有其他的方法。

步骤1:创建新的git裸存储库

首先,从新位置/s创建了一个裸存储库:

代码语言:javascript
复制
$ cd /s
$ git init --bare EPPTRA2.git
Initialized empty Git repository in S:/EPPTRA2.git/

步骤2:将非裸存储库镜像到新的git-裸存储库。

之后,我去了一个非裸存储库,它没有我最后一次提交,并将存储库镜像到裸存储库(实际上,我在/s/epptra2下有一个非裸存储库,可以使用它):

代码语言:javascript
复制
$ 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:更改远程原始位置

然后,我不得不删除以前的原点,创建一个新的:

代码语言:javascript
复制
$ 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:将已完成的更改推送到新的裸存储库中。

最后,我推送了我从本地存储库完成的提交:

代码语言:javascript
复制
$ 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是我的PC中的本地磁盘,/s/x是网络挂载驱动器。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52389480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档