git apply不对文件进行任何更改

时间:2017-08-03 16:56:51

标签: git patch

我必须在我的仓库中应用补丁并正在运行

git apply --directory=$PWD xxxxx.patch

由于我不会参与的原因,我不能在这个实例中使用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.

我已经读过,空白警告并不严重,不应该阻止git应用补丁。但是,无论什么原因,git都没有应用补丁。回购中的当前文件都没有变化。知道该怎么办吗?

1 个答案:

答案 0 :(得分:4)

我在the git apply documentation中注意到以下粗体(我的粗体)句子:

  

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

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