Git format-patch用法

git-format-patch将提交导出为补丁文件,然后可以将其应用于另一个分支或克隆的存储库。补丁文件表示单个提交,Git在导入补丁文件时重新提交。

git-format-patch是将更改从一个存储库副本转移到另一个存储库副本的短流程中的第一步。当Git只在本地使用而没有远程存储库时,旧的方式是通过电子邮件将补丁互相发送。如果您只需要向某人提交一次提交,而不需要合并分支和随之而来的开销,那么这是非常方便的。

使用场景
  • CodeReview
  • 代码迁移

    用法
    1. 创建patch
      1.1 commit id(不填,为当前head)之前的提交
      # n指从sha1 id对应的commit开始算起n个提交。
      $ git format-patch 【commit sha1 id】-n
      # eg
      $ git format-patch e948f6084f37ec4184ae45eca322698c1cf37e4e -2

      1.2 某个提交的patch

      $ git format-patch 【commit sha1 id】 -1
      # eg 
      $ git format-patch  e948f6084f37ec4184ae45eca322698c1cf37e4e -1

      1.3 某两次提交之间的所有patch

      $ git format-patch 【commit sha1 id】..【commit sha1 id】 
      # eg
      $ git format-patch  2a2fb4539925bfa4a141fe492d9828d030f7c8a8..89aebfcc73bdac8054be1a242598610d8ed5f3c8

      1.4 当前分支和某个分支差异的patch

      $ git format-patch a_big_feature_branch
    2. 应用patch
      2.1 检查patch能否正常应用
    $ git apply --check 【path/to/xxx.patch】

    2.2 应用patch

    $ git apply 【path/to/xxx.patch】
    # or
    $ git  am 【path/to/xxx.patch】
5.0
01
Redis为什么那么快?
rsync命令
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

liunux中你必须知道alias命令?

在Linux操作系统中,无论你…

1小时 ago

zshrc文件详解

Zsh 是一个强大的 shel…

14小时 ago

IPKings一款优秀的HTTP/Socks5代理服务-最低1.49$每月

IPKings是一家提供可靠、…

16小时 ago

SSH频繁掉线如何解决?

SSH持久连接非常有用,因为它…

17小时 ago