代码之家  ›  专栏  ›  技术社区  ›  Nacht

Git拉入/推入单个TCP连接

  •  0
  • Nacht  · 技术社区  · 6 年前

    我有一个奇怪的网络连接,有时不可靠。有时,每当我想要一个新的TCP连接时,我都必须手动按下一个按钮,这可能需要一分钟的时间来重置。

    我偶尔使用这个连接来推/拉Git更改。

    大多数情况下,这是非常好的工作。我只是 git push 通过连接,我的更改将在单个连接中进行。

    但是,如果遥控器上有我不知道的挂起的更改,我的 Git推 将被拒绝,我将不得不通过 git pull 然后是另一个 Git推 把我的一个连接变成三个。我可以做一个 吉特拉力 每次都要确认,但这通常意味着一个额外的连接,而不是必要的。

    Visual Studio有一个术语,用于“拉”和“推”,即“同步”。我知道这不是一个真正的Git术语,但我想知道是否有一种方法可以设置别名,使拉和推可以在一个TCP连接中完成。这会让我的生活更轻松。

    我知道我可以使用socks保持连接的开放,但是每一层网络都是昂贵的,因为这不是最快的连接。

    1 回复  |  直到 6 年前
        1
  •  2
  •   torek    6 年前

    Git本身没有这样做的方法:它使用libcurl打开HTTP或HTTPS连接,然后运行 ssh 打开ssh连接。对于 git:// 协议它有自己的代码,使用操作系统的套接字层,并生成一个新的套接字。虽然libcurl可以进行持久连接,但它会在每次调用的基础上进行持久连接,并且每个git命令都会启动一个新的调用。

    不过,代理/隧道还是可以做到这一点。额外开销是否值得由您决定。