【笔记】Git合并单个文件
工作中偶尔会遇到一些特殊的合并问题,例如需要从B分支将功能合并到A分支,但又不想全部合并,只想合并其中的某个文件或者某几个文件。
直接上命令:
- 切换到
git checkout Abranch
- 将B分支的指定文件合并到A分支
git checkout --patch Bbranch pages/index/index.vue
此时,git会要求我们处理冲突,可以看到控制台会打印一句话:
Apply this hunk to index and worktree [y,n,q,a,d,/,K,j,J,g,e,?]?
我们只需要按照这个提示去操作即可:
y - 存储这个hunk (如果符合预期,就输入y,来覆盖修改)
n - 不存储这个hunk (如果不符合预期,则使用n来拒绝这个修改)
q - 离开,不存储这个hunk和其他hunk (拒绝所有的修改,退出)
a - 存储这个hunk和这个文件后面的hunk
d - 不存储这个hunk和这个文件后面的hunk
g - 选择一个hunk
/ - 通过正则查找hunk
j - 不确定是否存储这个hunk,看下一个不确定的hunk
J - 不确定是否存储这个hunk,看下一个hunk
k - 不确定是否存储这个hunk,看上一个不确定的hunk
K -不确定是否存储这个hunk,看上一个hunk
s - 把当前的hunk分成更小的hunks
e - 手动编辑当前的hunk
? - 输出帮助信息
我个人用得比较多的还是 y
,git会一次次的给我们展示即将合并的代码片段,让我们一次次的来确认。 虽然一次次的去看是哪些修改,稍显麻烦,不过比较保险,也不差这一点半点的。大家可以按照自己的喜好来处理。
参考文章:CSDN用户Bug如风常伴吾身的文章