【问题标题】:How does GIT Push work?GIT 推送是如何工作的?
【发布时间】:2012-03-09 09:36:10
【问题描述】:

我有一个大型项目(几百 MB),如果我使用远程 GIT 存储库,即使您只对单个文件进行小幅更改,GIT 客户端是否会推送整个目录?

谢谢

【问题讨论】:

    标签: git


    【解决方案1】:

    不,git 客户端和服务器会协商一个对象已更改的列表,并且仅发送那些对象。您传输超过绝对必要的唯一时间是使用“哑” HTTP 服务器,并获取包含比客户端所需更多对象的完整包。

    【讨论】:

    • 此外,发送的所有内容都被 delta 压缩到一个包中,默认情况下,deltification 可以相对于它知道存在于远程中但未在远程中发送的对象包。
    【解决方案2】:

    没有。 Git 仅复制自上次推送以来您在每次提交时所做的更改。

    【讨论】:

      【解决方案3】:

      “推送”是 Git 同步存储库的方式 - 在您的情况下,将本地存储库与远程服务器上的存储库同步。

      在您提交更改时会发生存储库“更新”(实际上,从技术上讲,是在您“添加”时,但这已经超出了必要的范围)。当您提交时,Git 只是存储有关您自上次提交以来所做的增量更改的信息(它不是“复制”文件)。但是在您推送之前,该提交仅在您的本地计算机上。当您推送时,Git 只是将您在本地存储库中所做的更新与远程服务器上的存储库同步。

      Pro Git 是一本简单而精彩的读物,它会很好地解释这样的事情:http://progit.org/book/

      【讨论】:

        猜你喜欢
        • 2012-09-27
        • 1970-01-01
        • 1970-01-01
        • 2011-11-01
        • 1970-01-01
        • 2016-10-26
        • 1970-01-01
        • 1970-01-01
        • 2020-03-27
        相关资源
        最近更新 更多