前言 :
公司xx项目由于甲方不同,有部分页面需要定制化开发,于是需要同时维护两个分支。当相同模块需要改bug时,两个分支都需要同步修改,不能进行合并,否则定制化部分会被覆盖,于是可以进行补丁大法,共享我们提交的文件~
当你需要将多个文件的修改应用到另一个分支时,你可以按照以下步骤使用补丁:
1.在 dev1 分支上进行文件 a.vue 和 b.vue 的修改,并提交这些更改。
2.使用如下命令创建一个包含所有修改的补丁文件:
git diff dev2 dev1 -- src/page/a.vue src/page/b.vue > changes.patch
这将比较 dev2 分支和 dev1 分支上 src/page/a.vue 和 src/page/b.vue 文件的差异,并将其保存到 changes.patch 文件中。这个changes.patch是你要打补丁的补丁的名字,可以修改成你想要的名字
3.携带补丁切换到 dev2 分支,并在该分支上应用我们的补丁:
注意:我省略了提交的git命令和切换分支的命令,底下是应用补丁的命令~
git apply changes.patch
这样,a.vue 和 b.vue 文件的修改就会被应用到 dev2 分支上了。
4.删除补丁或者重新切分支应用补丁:
一旦你成功地将补丁文件应用到了目标分支上,你可以根据需要决定是否保留补丁文件。通常情况下,一旦补丁文件成功应用并且相应的更改已经被提交到了目标分支上,补丁文件就可以被删除了。但如果你认为之后可能会需要再次使用这个补丁文件,或者想要将更改应用到其他分支上,那么你可以保留这个补丁文件。
后记:
如果你只是想复制某个合并请求 则记录下对应的请求Id 在目标分支执行 git cherry-pickid
例如:git cherry-pick d82d23d12fd31c9c884681f6047295225541cfdd
希望这篇博客对你有所帮助~