一个克隆的git仓库占用多少内存?[已关闭]

jdgnovmf  于 2023-09-29  发布在  Git
关注(0)|答案(1)|浏览(99)

已关闭,此问题需要更focused。它目前不接受回答。
**想改善这个问题吗?**更新问题,使其只关注editing this post的一个问题。

17天前关闭
Improve this question
在我的远程服务器上使用git进行版本控制之后,我现在希望在远程和本地文件系统上使用git进行版本控制。
到目前为止,我这样做的方法是:
1.创建远程裸存储库作为“保存”目录:

  • 创建目录mkdir /save
  • 为此项目创建保存存储库mkdir /save/projectName
  • 输入项目存储库cd /save/projectName并将其初始化为裸git init --bare

1.在本地克隆远程保存库,添加、编辑和提交,然后推回远程存储:

  • 创建一个本地开发目录mkdir /webDev并输入cd /webDev
  • 克隆此项目的远程保存`git clone user@host:/save/projectName
  • 添加文件,然后运行git add *,编辑它们,然后提交`git commit * -m“Update”。
  • 使用git push origin master将更改推送到远程保存存储库

1.将更新的保存存储库克隆到远程计算机上的开发存储库中:

  • 进入服务器目录/srv和开发子目录/srv/dev
  • 使用git clone /save/projectName克隆远程保存的存储库

1.检查开发站点是否按预期工作,然后对生产目录重复(3):

  • 在生产目录/srv中运行git clone /save/projectName

这一切都很好,但是我担心的是内存占用有3个目录相同的内容,在这之上,对于多个项目,将增加3*N的项目数N。
我读过很多关于使用git的在线教程和网站,但我还没有能够清楚地遵循任何。人们经常谈论使用分支,但我现在还不想考虑分支--只是克隆、推和拉。
我想我最好在我的本地机器上使用动态IP来拥有裸/save存储库,然后以某种方式将内容复制到远程机器的开发和生产目录。这会将每个项目的3个目录减少到2个,这样会更好,但是我还没有找到一种方便地从动态IP地址git clone的方法。
总而言之,我能想到的几个问题可以解决我的问题:
1.克隆的git仓库是否占用与原始文件相同的内存空间?还是git以某种方式使内存大小更简洁?
1.是否有一种行业标准的方法来设置本地、远程开发和远程生产位置的进程,以解决内存问题?
1.有没有一种方法可以在我的本地机器上托管裸git repo,然后以某种方式将它们移动到远程dev和prod位置?
任何方向与上述问题,或可能的误解,我可能有,沿着解释,将不胜感激。

fdbelqdn

fdbelqdn1#

我没有意识到“记忆”的问题。只有磁盘空间问题。
通常的工作流是远程的。默认情况下,工作树不会被推送修改。
最佳实践是远程**bare repository**,带有post-receive钩子,可以配置为执行您需要的任何命令。
就像去你实际的仓库(开发仓库或者生产仓库,取决于远程仓库)并执行git pull(从本地开发环境中推送到裸仓库的提交更新工作树)。
如果你的开发/生产仓库在同一个远程服务器上(你的裸仓库在那里,你要推到的地方),那么你可以使用git worktree(也就是present here)来保持一个实际的仓库,和两个 checkout 的工作树。

相关问题