例如,Git允许从任何给定的远程和引用中获取
git fetch <remote-url> <reference>
Run Code Online (Sandbox Code Playgroud)
因此,无需添加遥控器或创建分支即可获得提交的提交.
但是,这仅适用于引用,例如分支名称或标记,但不适用于特定哈希,因此不能直接在任何地方引用.
有没有办法从远程获取特定的提交?
crg*_*dos 21
正如今天我试过的:
git fetch origin <commit-hash>
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力!(git 版本 2.20.1)
只要确保<commit-hash>是全长参考
Fre*_*Foo 10
不.根据手册,git fetch想要一个refspec,其中最简单的形式是ref,而裸SHA-1不是ref.即,提交必须在遥控器上有一个名称(分支,标签),以便您能够使用fetch它.
请参阅" 从远程git存储库中提取特定提交 ":
使用Git 2.5(2015年7月),您将能够:
git fetch --depth=1 <a/remote/repo.git> $SHA1
git cat-file commit $SHA1
Run Code Online (Sandbox Code Playgroud)
如果SHA1是从远程仓库的一个分支提示"可到达",那么您可以获取它.
警告:你需要一个Git 2.5远程repo 服务器,它将处理uploadpack.allowReachableSHA1InWant配置(你需要将该配置设置为true,以便允许单个提交提取).
| 归档时间: |
|
| 查看次数: |
6181 次 |
| 最近记录: |