从commit迁出分支
最近线上不该合并的修改被合并到了master分支,需要紧急撤回,然而之前的代码管理中并没有利用Git打版本,所以想让Jenkins使用一个稳定的分支,却没有这样的分支,因为master分支就约定是这样的稳定分支,怎么办?看了下git log,是不是可以从某个commit迁出新的分支呢?原来是可以的:
git branch newBranchA commitHash
然后利用Jenkins暂时使用newBranchA构建,可以作为暂时的回滚方案。不过,也只是紧急情况下使用,线上发布正确的做法应该是使用Git的版本控制,回滚也方便,这篇文章就不展开了。
迁出分支的正确姿势
要在现有稳定代码的基础上开发新功能,最好在最新的稳定代码基础上迁出新的分支,一般是master,迁出前一定要先git pull同步一下仓库中的代码,否则,合并时各种冲突会让你怀疑人生。
git checkout master --> git pull --> git checkout -b feature/newFunc