我克隆了一个项目让我继续工作,但是一位朋友对原始项目进行了修改。我想将该提交的更改提取到我的项目中。
使用
git fetch https://github.com/cvandermeer/wisemonkeys.git f70bcfd75a498ed9159b6e5313e306166fc3df62
引发以下错误:
错误:没有这样的远程参考f70bcfd75a498ed9159b6e5313e306166fc3df62
git remote -v
给了我以下内容,
origin https://github.com/alucardu/appsynth.git (fetch)
origin https://github.com/alucardu/appsynth.git (push)
是否无法从其他项目中提取提交?
答案 0 :(得分:4)
(为方便起见,让我们打电话给你的朋友" Alice"在下面。)
我想将该提交的更改提取到我的项目中。
是否无法从其他项目中提取提交?
严格来说,你不会提交提交;你获取引用(分支或标签)。如果您对Alice的回购中存在的特定提交感兴趣,而不是对您的回复感兴趣,则您需要从Alice的回购中获取其祖先包含有问题的提交的引用。
git fetch
语法使用[...]会引发以下错误[...]
您正在使用的命令,
git fetch <remote-url> <commit>
不是有效的git fetch
语法,因此会出现错误。您要使用的语法是
git fetch <repository>
其中<repository>
是一个遥控器,即你的本地仓库知道爱丽丝回购的昵称。您可能希望更具体,并在此命令的末尾添加refspec。
修改:正如his comment中的torek所指出的那样,您也可以使用裸URL,而无需在本地存储库中配置遥控器,但这可能不是什么你想做什么,这里。
git remote -v
给了我以下[...]
git remote -v
的输出表示您尚未将Alice的repo添加为本地存储库的远程。你需要先从中获取它:
git remote add alice https://github.com/cvandermeer/wisemonkeys.git
然后运行
git fetch alice
从Alice的回购中获取您已经拥有的所有内容。然后你可以运行
git name-rev f70bcfd75a498ed9159b6e5313e306166fc3df62
标识可从中访问提交的引用,
git show f70bcfd75a498ed9159b6e5313e306166fc3df62
打印有关提交的信息并决定如何处理它(樱桃挑选它,将它的分支合并到你的一个本地分支机构等)。
答案 1 :(得分:1)
我建议采取以下一系列行动:
1)使用git remote连接另一个存储库作为远程存储库。
2)拉它。
3)使用git cherry-pick
从其他存储库中提取您的提交。