git是否从本地推送到远程压缩数据?

git是否从本地推送到远程压缩数据?,git,version-control,github,Git,Version Control,Github,我的本地存储库大约有500个文件,总大小约为125MB。我在“”提供的存储上初始化了git存储库 我通过Git GUI执行了以下步骤 git提交(我的本地回购协议) git远程添加 git推送 它说它上传到远程Repo上,我可以看到文件,但是Repo现在只有26mb 我尝试在两种不同的情况下从远程repo在另一台机器上进行git克隆和git拉取。他们似乎下载的正是远程回购上的26MB。但是当我检查机器上文件夹的大小时,它显示为125MB 问题: “git push”是否在上传到远程回购时压缩

我的本地存储库大约有500个文件,总大小约为125MB。我在“”提供的存储上初始化了git存储库

我通过Git GUI执行了以下步骤

  • git提交(我的本地回购协议)
  • git远程添加
  • git推送
它说它上传到远程Repo上,我可以看到文件,但是Repo现在只有26mb

我尝试在两种不同的情况下从远程repo在另一台机器上进行git克隆和git拉取。他们似乎下载的正是远程回购上的26MB。但是当我检查机器上文件夹的大小时,它显示为125MB

问题:

  • “git push”是否在上传到远程回购时压缩数据
  • 我正在丢失数据吗
  • 如果我试图在多台本地机器上复制远程回购协议,以便多人可以在同一个项目上工作,那么我是使用Git Clone还是Git Pull
  • “git push”是否在上传到远程回购时压缩数据

    对。它推动

    我正在丢失数据吗

    否。
    一旦开始回购,您将:

    • 在工作树中签出那些打包的文件
    • 使用存储在.git/objects中的已添加文件,这些文件尚未重新打包。
      有关详细信息,请参阅“”
    如果我试图在多台本地机器上复制远程回购协议,以便多人可以在同一个项目上工作,那么我是使用Git Clone还是Git Pull

    git clone
    用于该回购协议的初始副本和签出。

    然后,
    git pull

    当git使用增量编码推送数据时,您不会丢失数据。 顺便说一下,您可以通过执行以下操作来清理不必要的文件并优化本地存储库:

    git gc 
    
    gc
    的手册页:

    在当前存储库中运行许多内务管理任务, 例如压缩文件修订(以减少磁盘空间 并删除无法访问的对象,这些对象可能是以前调用git add创建的


    除了已经说过的,Git的内容寻址存储模型自然地消除了重复数据,即具有相同内容的文件只存储一次。我非常怀疑这是否适用于您的情况,但一般来说,这是Git存储相当高效的另一个原因,具体取决于您存储的数据类型。

    您是否有机会更详细地解释最后一个答案?@NitRed对于这些机器上的repo的首次初始化,请使用Git克隆(每台机器一个克隆)。然后git pull(在每个克隆的repo中再次)就足以更新这些克隆的repo。git clone>cd到repo>git pull。希望听起来不错。非常感谢!