我的客户端如何应用git diff未安装git 创建的补丁?我试图使用patch命令,但它总是要求文件名修补.
And*_*sov 419
git diff > patchfile
Run Code Online (Sandbox Code Playgroud)
和
patch -p1 < patchfile
Run Code Online (Sandbox Code Playgroud)
工作,但很多人注意到评论和其他答案补丁不理解添加,删除和重命名.没有选项,但git apply patchfile如果您需要处理文件添加,删除和重命名.
编辑 2015年12月
最新版本的patch命令(2.7,2012年9月发布)支持"diff --git"格式的大多数功能,包括重命名和副本,权限更改和符号链接差异(但尚未发布二进制差异)(发布公告).
因此,如果使用当前/最新版本,patch则无需使用git能够将其差异应用为补丁.
sup*_*pie 73
试试这个:
patch -p1 < patchfile
Run Code Online (Sandbox Code Playgroud)
Sol*_*ang 49
使用
git apply patchfile
Run Code Online (Sandbox Code Playgroud)
如果可能的话.
patch -p1 < patchfile
Run Code Online (Sandbox Code Playgroud)
有潜在的副作用.
git apply如果以git diff格式描述文件,也会处理文件添加,删除和重命名,这是不可行的patch.最后,git apply是"全部应用或全部中止"模型,其中应用了所有内容或者没有任何内容,而补丁可以部分应用补丁文件,使您的工作目录处于奇怪的状态.
| 归档时间: |
|
| 查看次数: |
131773 次 |
| 最近记录: |