如何使用 git rebase 提交合并分支
如何使用git rebase 提交合并分支?
面试题
工作中git rebase 如何使用?为什么要用git rebase? 使用不当会造成什么后果?
面试官心理分析
如何使用git 进行项目管理,几乎每天都在使用,如果连这个git使用都不太清楚,那确实需要反思一下自己。
面试题剖析
项目中是如何使用的?
-
合并多个节点
#在自己开发分支中,5自己当前提交的日志次数
git rebase -i HEAD~5

-
修改内部提交节点日志
指令说明:
pick:保留该commit(缩写:p)
reword:保留该commit,但我需要修改该commit的注释(缩写:r)
edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
squash:将该commit和前一个commit合并(缩写:s)
fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
exec:执行shell命令(缩写:x)
drop:我要丢弃该commit(缩写:d)
使用vi,将第一个底下的日志前缀,全部修改为 s,将该commit和前一个commit合并,完成后保存并退出。

-
遇到冲突,解决后跳过
git rebase --continue -
遇到冲突,还原到
git rebase之前git rebase —abort -
完成后,强制推送远端
git push -f
为什么要使用git rebase?
- 合并
commit记录,保持分支整洁; - 相比
merge来说会减少分支合并的记录;
使用过程中会产生什么风险?
rebase会将当前分支的新提交拆下来,保存成patch,然后合并进其他分支新的commit,最后将patch接进当前分支。这是rebase对多条分支的操作。对于单条分支,rebase还能够合并多个commit单号,将多个提交合并成一个提交。
因此,请保证仅仅对自己私有的提交单进行rebase操作,对于已经合并进远程仓库的历史提交单,不要使用rebase操作合并commit单。
建议禁止多人同一时间段操作同一分支。
期待生活有惊喜,盼望事事有回应。

浙公网安备 33010602011771号