是否有一种简洁的方法从远程存储库中获取特定的提交(通过sha1)(而不是获取特定的分支)?我的第一个想法是
git fetch <remote-url> <sha1>
但这不起作用。可以使用git ls-remote
来查看您正在查找的提交是否恰好与某些远程引用相对应并将其拉出来。但如果您想要的提交被隐藏在其中一个引用的历史中,那么这可能会失败,而且似乎必须有一个更简洁的方式。
答案 0 :(得分:3)
这是不可能的。引用thread from the Git mailing list archive:
不,出于安全考虑;想象你包括一些专有 错误的源代码,通过强制推送来撤消损坏 没有有罪代码的分支机构。通常你没有 控制服务器上的垃圾收集,但你仍然不想要 其他人“通过SHA-1”获取。