我到底应该用git-merge还是git-rebase呢?( 二 )
merge:会把公共分支和你当前的commit 合并在一起 , 形成一个新的 commit 提交 。
两者的使用场景merge命令一般用于将开发分支、热修复分支等合并到主分支上 , 因为该命令不会修改分支的历史信息 , 只会增加新节点 , 非常适合主分支这种稳定性且需要用于版本控制的分支上 。
rebase命令一般用于将基分支的新提交记录 , 合并到正在进行开发任务或修复任务的分支上 , 因为该命令能保证开发分支的历史与基分支的历史保持一致 , 从而减少污染性 。
但要注意 , rebase命令最好不要用于一个公共的分支 , 假设你们公司的开发分支是一个公用的分支 , 此时多人在这个分支上开发 , 由于rebase的修改历史的特点 , 可能会出现丢失修改的问题 , 对于这种运用 , 建议团队之间进行沟通后决定使用merge或rebase来保证该公用开发分支的可用和完整 。
我在工作中的运用在工作中 , 我们会拥有自己的开发分支 , 在完成需求需要进行版本迭代的时候 , 会将开发分支的提交合并到master上 , 一般我的操作如下:
a. 通过git stash , 将我自己开发分支的代码保存到暂存区中 , 恢复本地仓库到修改前的状态;
b. checkout master进入主分支 , git pull拉取master的最新commits;
c. checkout mydev进入开发分支 , 通过git rebase master将master最新的提交 , 合并到自己的开发分支上 ,保证该分支的历史提交与master相同;
d. git stash pop将自己的修改取出;git commit、git push提交到远程开发分支上;
【我到底应该用git-merge还是git-rebase呢?】e. 发起merge请求 , 合并到master分支;
- 先别|用了周冬雨的照片,我会成为下一个被告?自媒体创作者先别自乱阵脚
- 当初|这是我的第一部华为手机,当初花6799元买的,现在“一文不值”?
- 发展|我省要求互联网平台坚持依法合规经营 推动线上经济健康规范发展
- 页面|流程图怎样画?老板要我帮他做个组织结构图
- 深度|iPhone12到底值得买吗 深度体验一周我发现了这些
- 月入|一上网,感觉网上每个人都是月入过万,到底是错觉还是你out了?
- 效果|周冬雨化身美妆效果评测员?相比美妆数码宅的我更期待OPPO新机
- 退费|女子公众号上买菜,出现问题时已充上万元,公司:我们没有退费规矩
- 自助|新型通道-健康码自助核验闸机
- 环境|环境标识认知转盘游戏