我正在准备请求请求,而要点之一是保留一些旧文件。发生这种情况是从当前的HEAD
返回了几个提交。从提交到cherry-pick a single file的过程如下:
git checkout 1234567 -- src/Reporters/DeletedFile.h src/Reporters/DeletedFile.cpp
我从Git Bash收到以下错误消息:
error: pathspec 'src/Reporters/DeletedFile.h' did not match any file(s) known to git
error: pathspec 'src/Reporters/DeletedFile.cpp' did not match any file(s) known to git
使用show
进行检查表示文件已在哈希1234567中删除,并且使用完整哈希也将导致相同的错误。是什么原因导致此错误?
答案 0 :(得分:0)
哈希1234567
不包含您要检出的文件,因为它刚刚被删除。在删除之前,您需要从提交中检出文件。
要先获取提交,可以按照this answer使用<hash>^1
或仅使用<hash>^
。
答案 1 :(得分:0)
您需要运行的命令是
git checkout 1234567^ -- src/Reporters/DeletedFile.h src/Reporters/DeletedFile.cpp
这将选择1234567之前的提交,这是包含所需文件的最后一次提交。