git patch 的使用

遇到的问题:在 A 项目中我的一个功能需要移植到 B 项目中,A 和 B 来源一个 demo

解决方案

在 A 项目中执行以下操作

# 生成单个提交的补丁
git format-patch -1 <commit-hash> --stdout > my_change.patch
# 或者生成多个连续提交的补丁(从commit1到commit2)
git format-patch <commit1>..<commit2> -o /path/to/patches

将 my_change.patch 拷贝到 B 项目的.git 目录下面

在 B 项目下执行以下操作就可以将补丁注入

git apply --3way my_change.patch

Image