git补丁制作与使用


git制作补丁

已提交的修改:

  • git format -patch commitid

未提交的修改:

  • git diff >> xxx.patch

常用命令:

  • git am + patch_file 是专门用于git format-patch 所生成的补丁,使用git am + patch_file会自动commit 并根据patch生成提交记录。

git format-patch HEAD^                    #生成最近的1次commit的patch

git format-patch HEAD^^                  #生成最近的2次commit的patch

git format-patch HEAD^^^                #生成最近的3次commit的patch

git format-patch HEAD^^^^              #生成最近的4次commit的patch

git format-patch ..                             #生成两个commit间的修改的patch(包含两个commit. 和都是具体的commit号)

git format-patch -1                              #指定commit号 //生成指定commit号的补丁

git format-patch                                  #生成某commit以来的修改patch(不包含该commit)

git format-patch --root                        #生成从根到r1提交的所有patch

commit号可以使用git log等命令来获取


git应用patch

  • git diff 和 git format-patch 生成的补丁文件都可以使用git patch ,git apply来打补丁,但是 git am 仅可以用于git format-patch 生成的补丁。

检查patch文件

  • git apply --stat newpatch.patch

检查是否应用成功

  • git apply --check newpatch.patch

应用补丁

  • git am --signoff < newpatch.patch

    • (使用-s或--signoff选项,可以commit信息中加入Signed-off-by信息)

git apply与git am的区别:

        1.git apply并不会将commit message等打上去,打完patch后需要重新git add和git commit;

        2.git am会直接将patch的所有信息打上去,不用重新git add和git commit,author也是patch的author而不是打patch的人

推荐文章:如何用git命令生成Patch和打Patch - 青山牧云人 - 博客园 (cnblogs.com)


  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值