我必须在我的仓库中应用补丁并正在运行
git apply --directory=$PWD xxxxx.patch
由于我不会参与的原因,我不能在这个实例中使用git am
,我需要使用目录标志。
$> 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都没有应用补丁。回购中的当前文件都没有变化。知道该怎么办吗?
答案 0 :(得分:4)
我在the git apply
documentation中注意到以下粗体(我的粗体)句子:
读取提供的diff输出(即“补丁”)并将其应用于文件。 从存储库中的子目录运行时,将忽略目录外的修补路径。使用
--index
选项...
在这种情况下,似乎git patch
决定文件在目录之外。如果从顶层运行,它应该停止决定(虽然当然$PWD
本身也会改变;任何--directory
选项,如果需要,将需要一个不同的参数。)