跳至主要內容

git format-patch

Sankgao约 422 字大约 1 分钟命令集Git

描述

git format-patch 用于生成一系列基于某个提交(或提交范围)的补丁文件(patch files)。这些补丁文件可以被其他 Git 仓库通过 git am 命令应用,以实现代码迁移或合并。

git format-patch 命令会为每个指定的提交生成一个 .patch 文件,这些文件是文本文件,包含了将提交应用到另一个 Git 仓库所需的更改。文件名通常基于提交的哈希值(但会缩短并添加 .patch 后缀)。

这些补丁文件可以通过电子邮件、版本控制系统、文件共享服务等方式发送给其他人,或者用于自动化脚本中的代码迁移。

选项

选项描述
--root从仓库的根提交(即第一个提交)开始生成补丁
-n, --number=<n>指定要生成的补丁数量
-o <directory>, --output-directory=<directory>指定输出补丁文件的目录
-s, --signoff在补丁文件中添加当前用户签名信息(Signed-off-by:
--cover-letter生成一个封面信(cover letter),通常用于描述补丁集合的总体目的或注意事项
--subject-prefix=<prefix>为补丁的主题添加前缀

示例

例如:从最近的未推送提交开始,生成所有补丁到当前目录下的 patches 文件夹中。

git format-patch -o patches/

例如:从特定的提交 abc123 开始,生成 3 个补丁。

git format-patch -n 3 abc123

例如:将最近 3 个提交转换为补丁,并添加签名信息并输出到 signed_patches 目录。

git format-patch -s -o signed_patches/ HEAD~3..HEAD