跟团队相关的命令慎重使用
禁止向集成分支执行push -f 操作
场景:多人共同维护一个develop分支,已产生多个commit,此时甲想要回退到自己之前的某个commit,之后执行 push -f 操作
git reset --hard <commitId>
git push -f origin feature
结果: 远端的feature分支回退到了甲想要的commit,但是此commit之后已存在的commit消失了,也就是说其他人在此分支做的提交(甲回退的commit之后的提交)全部消失!!!
- 一般情况下远端的github或者gitlab会禁止用户执行
git push -f操作,防止产生影响,具体的实现后续文章揭晓。
禁止向集成分支执行变更历史的操作
场景:多人基于远端develop分支做开发,甲对该分支进行了变基的操作并且push到了远端,乙基于develop分支正常增加了新的功能,进行push的时候报错了!!!
建议:
- 千万不要对集成分支改变历史,如果想要做改进,只能基于最新的commit往上增加commit的方式去调整。
- 其他同事是基于集成分支历史的commit进行新的开发,如果对公共的commit做了修改(小心被同事追着砍🤭),其他同事的分支跟集成分支有差异,想要修复会特别麻烦!