1. 找寻最近的版本,使用git reset --hard 回退到具体的提交版本号
2. git push origin master --force 这个会遇到gitlab默认拦截,处理版本
版本仓库页面,选择Setting——Repository,找到Protected branches
3. 再回到master分支,强制提交,如果是develop,则使用git push origin develop --force
所有master 和 develop 版本管理,务必要使用git flow 来处理,避免出现分支合并冲突
# 初始化 Git Flow
git flow init
# 功能分支(Feature Branches)
# 创建功能分支
git flow feature start <feature_name>
# 完成功能分支
git flow feature finish <feature_name>
# 发布功能分支
git flow feature publish <feature_name>
# 拉取远程功能分支
git flow feature pull origin <feature_name>
# 发布分支(Release Branches)
# 创建发布分支
git flow release start <release_version>
# 完成发布分支
git flow release finish <release_version>
# 发布发布分支
git flow release publish <release_version>
# 拉取远程发布分支
git flow release pull origin <release_version>
# 热修复分支(Hotfix Branches)
# 创建热修复分支
git flow hotfix start <hotfix_version>
# 完成热修复分支
git flow hotfix finish <hotfix_version>
# 发布热修复分支
git flow hotfix publish <hotfix_version>
# 拉取远程热修复分支
git flow hotfix pull origin <hotfix_version>
# 支持分支(Support Branches)
# 创建支持分支
git flow support start <support_version>
# 发布支持分支
git flow support publish <support_version>
finish
命令
finish
命令用于完成一个分支的工作。它会执行以下操作:
- 合并分支:将当前分支的更改合并到其基础分支(例如,将功能分支合并到
develop
分支,将发布分支和热修复分支合并到master
和develop
分支)。 - 标记版本(针对发布和热修复分支):在
master
分支上创建一个带有版本号的标签。 - 删除分支:在本地和远程仓库中删除该分支。
publish
命令
publish
命令用于将本地分支推送到远程仓库。它不会合并或删除分支,只是将当前的工作进度发布到远程,以便其他团队成员可以访问和协作。