bet*_*eth 38 git textwrangler whitespace netbeans removing-whitespace
我已经尝试在TextWrangler中编辑一个php文件,其行结尾设置为Unix,NetBeans和vim.当我将差异保存到补丁然后尝试应用它时,它会产生空白错误.当我键入时,git diff我可以看到^M我的行的末尾,但如果我在vim中手动删除它们,它说我的补丁文件已损坏,然后补丁根本不适用.
我使用以下命令创建补丁:
git diff > patchname.patch
我通过检查要修补和输入的文件的干净版本来应用它
git apply patchname.patch
如何在没有空格错误的情况下创建此补丁?我以前创建了补丁,但从未遇到过这个问题.
Lil*_*ard 29
你确定那些硬错误吗?默认情况下,git会警告空白错误,但仍会接受它们.如果它们是硬错误,那么您必须更改某些设置.您可以使用该--whitespace=标志来git apply基于每次调用来控制它.尝试
git apply --whitespace=warn patchname.patch
Run Code Online (Sandbox Code Playgroud)
这将强制默认行为,即警告但接受.您还可以使用--whitespace=nowarn完全删除警告.
控制它的配置变量是apply.whitespace.
作为参考,这里的空白错误不是补丁的错误.这是一个代码风格的东西,默认情况下,git会在应用补丁时抱怨.值得注意的是,它不喜欢尾随空白.同样git diff会突出显示空白错误(如果您输出到终端并且颜色已打开).默认行为是警告,但无论如何都要接受补丁,因为并非每个项目都对空白感兴趣.
zed*_*ght 29
git apply --reject --whitespace=fix mychanges.path
很多时候,当我的队友在 Linux/Windows 上工作或使用 git send-email 时,我都遇到过这样的问题。
我总是遵循以下命令。
git apply -3 --whitespace=fix yourpatch.patch
Run Code Online (Sandbox Code Playgroud)
或者
git am -s -3 --whitespace=fix yourpatch.patch
Run Code Online (Sandbox Code Playgroud)
-3选项将尝试三向合并,它也将有助于解决其他问题。
| 归档时间: |
|
| 查看次数: |
54586 次 |
| 最近记录: |