gpt4 book ai didi

git - Git 的传输协议(protocol)是如何工作的

转载 作者:太空狗 更新时间:2023-10-29 14:29:05 25 4
gpt4 key购买 nike

我使用 Git 已经一年多了,现在我必须向我们组中的其他人解释它。这就是为什么我需要更多的背景。
去年我阅读了 Git Book 的大部分内容,最近我继续阅读第 10 章。在 10.6 章中,我完全陷入了困境:

Let’s follow the http-fetch process for the simplegit library:

$ git clone http://server/simplegit-progit.git

The first thing this command does is pull down the info/refs file. This file is written by the update-server-info command, which is why you need to enable that as a post-receive hook in order for the HTTP transport to work properly:

=> GET info/refs
ca82a6dff817ec66f44342007202690a93763949 refs/heads/master


我有一个小的测试 repo https://github.com/to_my/repo 并且 git clone 运行良好。但
  • 文件夹 info/refs 在哪里?我只找到了 /.git/info/exclude 之后的 clone ...
  • 我应该如何使用 update-server-info 命令?它是 git clone 的一部分吗?
  • 我完全迷失于“......这就是为什么你需要将它作为接收后钩子(Hook)启用”,尽管我理解钩子(Hook)(我认为)并使用预提交钩子(Hook)来自动增加包版本。
  • 我无法在 git bash 工作中获取命令 GET info/refs

  • 对不起,如果问题很愚蠢,但我只是不明白如何将文档中的这些部分放在一起。

    最佳答案

    Where is the folder info/refs? I only find a /.git/info/exclude afther the clone...



    没有这样的文件夹(它不是目录),但是如果那里有文件,那么 .git/info/refs 将是文件所在的位置。

    How should I use the update-server-info command? Is it part of git clone somehow?



    一般来说,您不应该使用它:它仅用于“哑”传输。 “智能”(双向对话)传输不需要它。

    I am competely lost with "...which is why you need to enable that as a post-receive hook" although I understand hooks (I thought) and use a pre-commit hook for automatically increasing the package version.



    如果出于某种原因,您想要启用哑传输,则每次需要创建或更新时,您都需要运行一些程序来创建或更新多个文件。每当引用发生变化时, info/refs 文件都需要更新,因此运行“某事”的好地方是在 post-receive 钩子(Hook)中。 “东西”是命令 git update-server-info

    请注意,如果您没有在服务器上运行仅推送裸存储库,则仅运行 git update-server-info 后接收脚本是不够的,因为可以通过其他方式(例如手动 git commit )添加提交和其他对象。在这种情况下,您可以使用例如 cron 作业在时钟驱动的基础上创建或更新哑传输信息。

    I can't get the command GET info/refs in git bash work.



    如果文件存在,您将通过 HTTP 获取它,例如,从浏览器或使用 curl 命令。

    关于git - Git 的传输协议(protocol)是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42977209/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com