git apply 不对文件做任何更改

bob*_*nto 4 git patch

我必须对我的 repo 应用补丁并且正在运行

git apply --directory=$PWD xxxxx.patch
Run Code Online (Sandbox Code Playgroud)

由于我不会深入的原因,我不能git am在这个实例中使用,我需要使用目录标志。

git 告诉我:

$> git apply --directory=$PWD xxxxx.patch
code1/xxxxx.patch:337: trailing whitespace.
         < one partial line of code >
warning: 1 line adds whitespace errors.
Run Code Online (Sandbox Code Playgroud)

我已经读到空白警告并不严重,不应阻止 git 应用补丁。但是,无论什么原因,git 都没有应用补丁。存储库中的当前文件均未更改。知道该怎么做吗?

tor*_*rek 6

我注意到以下黑体(黑体我)的句子git apply文档

读取提供的差异输出(即“补丁”)并将其应用于文件。从存储库中的子目录运行时,目录外的修补路径将被忽略。随着--index选项...

在这种情况下,似乎git patch决定文件在目录之外。如果从顶层运行,它应该停止决定(当然$PWD它本身也会改变;任何--directory选项,如果需要,都需要不同的参数)。