如何仅在GIT推动中发送特定数据包?

发布于 2025-02-07 16:34:10 字数 619 浏览 1 评论 0原文

我一直在尝试优化GIT推动一段时间,我注意到这些额外的熟食是我们可能不需要并且可以避免的。注意 - 我在遥控端的吉托里岩层后面。

进行

因此,当我为提交>

git推动源< ref时,远程侧执行

git git receed-cake< path/to/to/to/subsodule>

在此之后,该数据包中的Trace Log显示了包含有关所有的信息的数据包,该存储库具有(在时间的过程中可能会变得非常大)。

痕迹看起来像是 -

18:47:03.556493 pkt-line.c:80           packet:         push< <commit hash> refs/tags/commit/<commit-hash>
.
.
.
.

我期望的是只发送两个这样的数据包 -

  1. 一个用于子模块提交。
  2. 一个用于根提交。

有人可以向我解释为什么会发生这种情况,如果有一种方法可以压倒本地版本和远程版本之间的三角洲检查并仅发送这两个数据包?

I have been trying to optimize git push for a while and I noticed these extra delievery of packets that we might not need and can be avoided. Note - I am behind a gitolite layer at the remote end.

So when I do a

git push origin <ref for the commit>,

the remote side executes a

git receive-pack <path/to/submodule>.

After this in trace log for the packet shows packets containing information regarding all the commits the repository has (which may become very large over the course of time).

The trace looks something like -

18:47:03.556493 pkt-line.c:80           packet:         push< <commit hash> refs/tags/commit/<commit-hash>
.
.
.
.

What I was expecting it to be was to send only two such packets -

  1. One for the submodule commit.
  2. One for the root commit.

Can someone-explain to me why this is happening and if there is a way to overpower this check of deltas between local and remote versions and send only these two packets ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文