相关疑难解决方法(0)

Git 的传输协议是如何工作的

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

\n\n
\n

让\xe2\x80\x99s 遵循 simplegit 库的 http-fetch 过程:

\n\n
$ git clone http://server/simplegit-progit.git\n
Run Code Online (Sandbox Code Playgroud)\n\n

该命令所做的第一件事是下拉 info/refs 文件。\n 该文件是由 update-server-info 命令写入的,这就是为什么\n 您需要将其启用为接收后挂钩,以便HTTP\n 传输正常工作:

\n\n
=> GET info/refs\nca82a6dff817ec66f44342007202690a93763949     refs/heads/master\n
Run Code Online (Sandbox Code Playgroud)\n
\n\n

我有一个小型测试仓库https://github.com/to_my/repo并且git clone运行良好。但

\n\n
    \n
  • 文件夹在哪里info/refs?我只找到了/.git/info/exclude之后clone...
  • \n
  • 我应该如何使用该update-server-info命令?它是 git clone 的一部分吗?
  • \n
  • 我完全迷失了“...这就是为什么你需要将其启用为接收后挂钩”,尽管我了解挂钩(我认为)并使用预提交挂钩来自动增加包版本。
  • \n
  • 我无法GET info/refs在 git bash 工作中获取该命令。
  • \n
\n\n

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

\n

git

6
推荐指数
2
解决办法
3850
查看次数

浅层和稀疏的 GIT 存储库克隆

我有一个超过 1 GB 的浅克隆 git 存储库。我对所需的文件/目录使用稀疏结帐。

如何将存储库克隆减少为稀疏的签出文件/目录?

最初,我可以通过在克隆时禁用检出来将克隆存储库限制为仅稀疏检出。然后在进行初始结帐之前设置稀疏结帐。这将存储库限制为仅约 200 MB。更易于管理。但是,在将来的某个时刻更新远程分支信息会导致其余文件和目录包含在存储库克隆中。将存储库克隆大小发送回超过 1 GB,我不知道如何仅删除稀疏的签出文件和目录。

简而言之,我想要的是一个浅稀疏的存储库克隆。不仅仅是浅层回购克隆的稀疏签出。完整的存储库会浪费空间,并且某些任务的性能会受到影响。

希望有人能分享解决方案。谢谢。

git clone repository sparse-checkout

6
推荐指数
1
解决办法
4077
查看次数

致命:配置“protocol.version”的未知值:2

我决定打开 Git 协议第 2 版(我想它更快,无噪音),所以我做了:

git config --global protocol.version 2
Run Code Online (Sandbox Code Playgroud)

但是当我尝试

git pull
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:

git config --global protocol.version 2
Run Code Online (Sandbox Code Playgroud)

我的操作系统是 Ubuntu 18.04。我在 Ubuntu 16.04 上的朋友做了同样的事情,并且对他有用。我可能缺少一些依赖项吗?

git

4
推荐指数
1
解决办法
1530
查看次数

标签 统计

git ×3

clone ×1

repository ×1

sparse-checkout ×1