1.项目要上线了,dev分支合并到master分支,并且在master分支上打一个tag 1.0.0,推送到远端
git merge --no-ff -m "merge with no-ff" dev
//加上--no-ff 可以看到合并后的分支信息
git tag -a 1.0.0 -m "RELEASE 1.0.0"
git push origin 1.0.0
2.我忘记了是否合并过dev分支,打算看看现在的分支合并情况
git log --graph --pretty=oneline --abbrev-commit
//以图形,单行,简洁的commit id,显示分支合并情况
3.现在发现在最早没有规划版本的时候,有人在master上面提交了几个无用的commit,想要把这几个commit去掉
git reset b5fe1846df87a667c99967159a2baa1bc4c981f2
//找到要去掉之前的commit,reset
git reset --hard HEAD
//此时会有很多没有管理或者修改的文件,reset HEAD,清空所有的更改,但是那些后面commit新增加的文件不会被删除
git clean -ndf
//看一下要删除那些文件
git clean -df
//直接删除哪些没有被git track的文件
//首先去gitlab 去掉受保护分支master,因为保护分支不允许 --force
git push origin master --force
4.现在1.0.0出bug了,需要到tag上,直接拉一个新分支bug001,修改完之后,合并到master,发布版本release 1.0.1
git checkout 1.0.0 -b bug001
作者:glowd
原文:https://blog.csdn.net/zengqiang1/article/details/68946734