你有正确的使用git merge和git rebase吗?

345 阅读1分钟

合代码过程中,偶尔发现代码丢失的情况,那么请往下看,然后检查,自己是否有按照下方这个规范来!

先来大概看下merge和rebase比较通俗一点的解释

1、git merge

A分支merge到B分支,代表如果遇到同文件大致相同的位置修改的commit时,A分支会覆盖B分支的commit

2、git rebase

会更新上游分支内容到当前下游分支,而不是覆盖

3、使用merge和rebase的基本原则

  1. 下游分支更新上游分支内容的时候使用 rebase
  2. 上游分支合并下游分支内容的时候使用 merge

3、示例

例如现有上游分支 master,基于 master 分支拉出来一个开发分支dev,在dev上开发了一段时间后要把 master分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master

等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev

4、撤回rebase操作

git rebase --abort