从远程git repo获取特定提交

cvr*_*ert 5 git git-fetch

因此,我基本上要做的是从一个远程仓库下拉一个给定的提交(由其SHA标识),然后将其作为新分支(其名称我自动生成)推送到另一个远程仓库.源代码将会有所不同,这些都是一次性操作,所以我不想git remote add这些遥控器,我不想为提交创建引用/分支.而且我不想改变任何本地分支机构的HEAD.

那么,我如何才能获取给定的远程提交(以及对我来说是新的任何父提交)并将它/它们添加到我的本地git数据库中?

git pull 隐含地涉及合并或变基,所以这是不可能的.

我试过了,git fetch https://github.com/foo/bar.git 7d0969daba1fdf9d5bb9bc9a2847fd1bc1c7e426
但这只是导致
error: no such remote ref 12819ad8e10e5906df5352d7d8fec1fceb1f3afc
(是的,我确认在那个遥控器上存在提交SHA;看起来git在这里不接受SHA).

我的意思是,我想我可以想出一个任意的本地分支名称,以便始终将提交下拉,然后在每次推送后删除该分支,但这似乎是不优雅的......

And*_*w C 5

Git不允许您按设计通过SHA进行获取。似乎没有任何计划基于开发者邮件列表上的先前对话来启用它

为了能够获取,您将必须在遥控器上有一个参考。我想像的是,您应该能够自动生成此部分,因为您必须具有一种机制来传递遥控器并已经来回摇动。