合代码过程中,偶尔发现代码丢失的情况,那么请往下看,然后检查,自己是否有按照下方这个规范来!
先来大概看下merge和rebase比较通俗一点的解释
1、git merge
A分支merge到B分支,代表如果遇到同文件大致相同的位置修改的commit时,A分支会覆盖B分支的commit
2、git rebase
会更新上游分支内容到当前下游分支,而不是覆盖
3、使用merge和rebase的基本原则
- 下游分支更新上游分支内容的时候使用
rebase- 上游分支合并下游分支内容的时候使用
merge
3、示例
例如现有上游分支 master,基于 master 分支拉出来一个开发分支dev,在dev上开发了一段时间后要把 master分支提交的新内容更新到 dev 分支,此时切换到 dev 分支,使用 git rebase master
等 dev 分支开发完成了之后,要合并到上游分支 master 上的时候,切换到 master 分支,使用 git merge dev
4、撤回rebase操作
git rebase --abort