我们可以使用git生成patch文件,然后使用git am来应用patch。
patch是在现有的branch上针对要修改的branch进行对比生成的。
举例:
1、 master上新建一个Features的分支
git checkout Features
2、 在Features上做一些修改并提交
3、 和master做对比,针对特定的commit生成patch文件
使用git log查看commit历史,找到相关的hash并记录下来。
使用commit的hash作为参数进行patch文件的生成:
git format-patch master -l a685305c1f854141c5cbc933753b675b62d5e06f -o patches
这将生成patches文件夹。




4、 回到master,应用patch文件生成对应的commit
这里有两类方法
4.1、 git am

git checkout master
git am patches/0001-Features-commit.patch




4.2、 git apply
我们也可以使用git apply的命令应用patch。
可以发现,它不像am命令那样明显,即不会创建commit。


这套过程的最终结果很像 git cherry-pick。即只添加某一个commit到当前的分支。

Categories: Tool

Leave a Reply

Your email address will not be published. Required fields are marked *