Git应用补丁无声地失败(没有错误但没有任何反应)

sas*_*alm 28 git patch msysgit

我正在尝试应用补丁,git apply patch不会给我任何错误:

sashoalm@SASHOALM-PC /c/Workspace/tesseract-git/api (master)
$ git apply ../../commit-d0d9477

sashoalm@SASHOALM-PC /c/Workspace/tesseract-git/api (master)
$
Run Code Online (Sandbox Code Playgroud)

如您所见,没有给出错误消息.但是当我打开历史记录时,没有提交任何内容,索引为空.就好像我没有发出git apply命令一样.

我不知道如何解决这个问题,因为谷歌没有错误.

编辑:我忘了说,但是我试图从Tesseract的存储库中移植我的补丁,在那里我获得了没有版本控制的源代码,创建了我自己的空git repo,并做了一些提交.后来我使用了克隆了Tesseract存储库git svn,现在我正在尝试将补丁移到那里.

B_.*_*B_. 53

我在谷歌搜索时发现了这个问题:http://data.agaric.com/git-apply-does-not-work-from-within-local-checkout-unrelated-git-repository

git apply 在git存储库的本地检出中使用时将无法执行任何操作(除了为该项目制作补丁的项目之外),例如,如果要修补位于Git版本控制中的站点内的模块.

patch -p1 < path/file.patch改用.

  • 我试图理解为什么git返回成功(状态0)但是当我尝试从子目录运行它时不会应用补丁.现在我知道我必须始终确保从我的存储库的根目录运行`git apply`.在自动脚本中这可能很棘手. (14认同)
  • 谢谢。我正在从一个子目录应用 git patch 并且它无声无息地失败了。只需转到root并应用补丁就很高兴。 (2认同)