patch 的使用 一般是diff ,apply ,format-patch,am
1 生成patch
git diff > test.patch 这个是打补丁(test.patch自己取的名字,这个命令可以看出没有指定修改的问题所以默认把所有修改的文件都打patch了,同时还需要注意,这里是本地修改的没有执行add缓存的)
如果想指定某个文件的修改打patch可以使用
git diff 文件名 > test.patch
如果已经执行git add 在想打patch可以使用
git diff --cached > test.patch
2 查看patch
git apply --check test.patch
3 使用patch
git apply test.patch
如果对已经提交的代码打patch ,git log 查看那些是需要打ptach的
git diff commit_id1 commit_id2 > test.patch (commit_id1是最后1次id commit_id2 是倒数第二次提交的id ,这里是举例打1次提交的patch 当然也可以使用就一个id 就是倒数第二次的id,多个提交的话需要注意id 即可,)
commid id 就是git log 查看 显示黄色的id 如下图
第二种打patch 的方法
git format-patch 打ptach 这个使用于 已经提交的代码
git format-patch commit_id1 commit_id2 生成patch
(当然可可以使用git format-patch -1 这里是最近1次提交的,-2 是2次,-3 是三次 )
git apply --check 系统生成的名字 查看patch
git am 系统生成的名字.patch 应用patch
git diff 与 git format-patch 的区别
自己使用的一些发现不全面仅供参考
git diff 生成的可以指定文件名 生成的内容不包含commit 添加的内容
git format-patch 无需指定文件名, 生成的内容,含提交的变化的文件,已经commit 内容
commit 内容每个公司规定都不一样,这里就不说了.
版权归原作者 胡小牧 所有, 如有侵权,请联系我们删除。