从不同的存储库中拉取提交
Pull a commit from a different repository
我克隆了一个项目供我使用,但一位朋友对原始项目进行了更改。我想将该提交中的更改提取到我的项目中。
正在使用
git fetch https://github.com/cvandermeer/wisemonkeys.git f70bcfd75a498ed9159b6e5313e306166fc3df62
抛出以下错误:
error: no such remote ref f70bcfd75a498ed9159b6e5313e306166fc3df62
git remote -v
给我以下内容,
origin https://github.com/alucardu/appsynth.git (fetch)
origin https://github.com/alucardu/appsynth.git (push)
是否无法从不同的项目中提取提交?
(为方便起见,以下称您的朋友为“爱丽丝”。)
您获取引用(分支或标签),而不是提交
I would like to pull the changes from that commit into my project.
Is it not possible to pull a commit from a different project?
严格来说,您不获取提交;您获取 references(分支或标签)。如果您对 Alice 的存储库中存在但您的存储库中不存在的特定提交感兴趣,则需要获取一个引用,其祖先包含来自 Alice 的存储库中的相关提交。
使用有效的 git fetch
语法
Using [...] throws the following error [...]
您正在使用的命令,
git fetch <remote-url> <commit>
不是有效的 git fetch
语法,因此出现错误。您要使用的语法是
git fetch <repository>
其中 <repository>
是远程的,即您的本地仓库知道 Alice 的仓库的昵称。您可能想要更具体,并在此命令末尾添加一个 refspec。
编辑:正如 torek 在 中指出的那样,您也可以使用裸机 URL,无需在本地存储库中配置远程,但这可能不是你想要做的,在这里。
首先将 Alice 的存储库添加为 远程
git remote -v
gives me the following [...]
git remote -v
的输出表明您还没有将 Alice 的存储库添加为本地存储库的 远程。你需要这样做才能从中获取:
git remote add alice https://github.com/cvandermeer/wisemonkeys.git
获取并了解有关感兴趣的提交的更多信息
然后运行
git fetch alice
从 Alice 的存储库中获取您还没有的所有内容。然后你可以 运行
git name-rev f70bcfd75a498ed9159b6e5313e306166fc3df62
确定可从中访问提交的引用,并且
git show f70bcfd75a498ed9159b6e5313e306166fc3df62
打印有关提交的信息并决定如何处理它(精心挑选它,将它所在的分支合并到您的本地分支之一,等等)。
其他资源
git fetch
and git remote
手册页
- 相关问题:
我建议执行以下操作:
1) 将另一个存储库连接为远程存储库,git 远程。
2)拉。
3) 使用 git cherry-pick
从其他存储库中提取提交到你的。
我克隆了一个项目供我使用,但一位朋友对原始项目进行了更改。我想将该提交中的更改提取到我的项目中。
正在使用
git fetch https://github.com/cvandermeer/wisemonkeys.git f70bcfd75a498ed9159b6e5313e306166fc3df62
抛出以下错误:
error: no such remote ref f70bcfd75a498ed9159b6e5313e306166fc3df62
git remote -v
给我以下内容,
origin https://github.com/alucardu/appsynth.git (fetch)
origin https://github.com/alucardu/appsynth.git (push)
是否无法从不同的项目中提取提交?
(为方便起见,以下称您的朋友为“爱丽丝”。)
您获取引用(分支或标签),而不是提交
I would like to pull the changes from that commit into my project.
Is it not possible to pull a commit from a different project?
严格来说,您不获取提交;您获取 references(分支或标签)。如果您对 Alice 的存储库中存在但您的存储库中不存在的特定提交感兴趣,则需要获取一个引用,其祖先包含来自 Alice 的存储库中的相关提交。
使用有效的 git fetch
语法
Using [...] throws the following error [...]
您正在使用的命令,
git fetch <remote-url> <commit>
不是有效的 git fetch
语法,因此出现错误。您要使用的语法是
git fetch <repository>
其中 <repository>
是远程的,即您的本地仓库知道 Alice 的仓库的昵称。您可能想要更具体,并在此命令末尾添加一个 refspec。
编辑:正如 torek 在
首先将 Alice 的存储库添加为 远程
git remote -v
gives me the following [...]
git remote -v
的输出表明您还没有将 Alice 的存储库添加为本地存储库的 远程。你需要这样做才能从中获取:
git remote add alice https://github.com/cvandermeer/wisemonkeys.git
获取并了解有关感兴趣的提交的更多信息
然后运行
git fetch alice
从 Alice 的存储库中获取您还没有的所有内容。然后你可以 运行
git name-rev f70bcfd75a498ed9159b6e5313e306166fc3df62
确定可从中访问提交的引用,并且
git show f70bcfd75a498ed9159b6e5313e306166fc3df62
打印有关提交的信息并决定如何处理它(精心挑选它,将它所在的分支合并到您的本地分支之一,等等)。
其他资源
git fetch
andgit remote
手册页- 相关问题:
我建议执行以下操作:
1) 将另一个存储库连接为远程存储库,git 远程。
2)拉。
3) 使用 git cherry-pick
从其他存储库中提取提交到你的。