从git中的另一个本地回购中引用一个本地回购中的sha1

从git中的另一个本地回购中引用一个本地回购中的sha1,git,repository,fetch,sha1,Git,Repository,Fetch,Sha1,我在本地机器上克隆了两个git回购。我正在尝试将一种回购协议更改为另一种: cd path/to/local-repo1 git fetch path/to/local-repo2 <sha1> // cherry-pick from fetch head, etc. cd路径/to/local-repo1 git获取路径/to/local-repo2 //从采摘头等处采摘樱桃。 我得到: fatal: Couldn't find remote ref <sha1>

我在本地机器上克隆了两个git回购。我正在尝试将一种回购协议更改为另一种:

cd path/to/local-repo1
git fetch path/to/local-repo2 <sha1>
// cherry-pick from fetch head, etc.
cd路径/to/local-repo1
git获取路径/to/local-repo2
//从采摘头等处采摘樱桃。
我得到:

fatal: Couldn't find remote ref <sha1>
fatal: The remote end hung up unexpectedly
致命:找不到远程引用
致命:远程端意外挂起

我发现了,但为什么git在另一个本地回购协议中不承认sha1?结果表明,如果我用一个分支的名称替换sha1,它会成功,但是我需要用大量的sha1来完成这项工作,并且我并不想在每个sha1上创建一个分支来引用它们。

您尝试使用的
git fetch
的形式是:

git fetch <repository> <refspec>

表单
git fetch
将远程存储库中的所有本地分支提取到
refs/remotes/
下的远程跟踪分支,并确保这些分支所需的所有对象(包括历史记录中的所有提交)存在于您的本地存储库中。

您尝试使用的
git fetch
的形式是:

git fetch <repository> <refspec>

表单
git fetch
将远程存储库中的所有本地分支提取到
refs/remotes/
下的远程跟踪分支,并确保这些分支所需的所有对象(包括历史记录中的所有提交)都存在于您的本地存储库中。

这不是对您特定问题的回答,但您不必创建分支并获取每个分支。您可以将
local-repo2
添加为远程和
git fetch local-repo2
,然后选择散列。这不是对您特定问题的回答,但您不必创建分支并获取每个分支。您只需添加
local-repo2
作为远程文件,然后
git fetch local-repo2
,然后选择散列。