网站首页 > 技术教程 正文
一个分支即将上线,有个提交突然不能上了怎么办
一个dev分支在进行上线前准备,里面假设有 ...-> A->B->C->D 这几个提交 D是最新的。突然 B这个提交,因为突然发现一个大BUG不能上线。
怎么办?不要慌,有三种方法帮助你回退。
A B C D 可以是分支,也可以是 某几个commit
方法一: 分支回退
使用 git reset 回退到错误提交之前的版本,然后后续再次提交
假设A这次合并或者commit的 id是 55658bb7cee6293b75e9f4177ef8231f65670fd5
具体做法是:
git reset --hard 55658bb7cee6293b75e9f4177ef8231f65670fd5
git push -f (-f强制推送)
注意: 如果是受保护的分支,强制推送时候需要取消受保护
然后,C 和 D在直接git merge进来,或者 git cherry-pick 进来
方法二: 新分支提交
基于错误提交之前的版本创建新的分支-然后新的合并到这个新的分支
假设A这次合并或者commit的 id是 55658bb7cee6293b75e9f4177ef8231f65670fd5
具体做法是:
git checkout 55658bb7cee6293b75e9f4177ef8231f65670fd5 -b branchname
git push --set-upstream origin branchname
然后,C 和 D在直接git merge进来,或者 git cherry-pick 进来
通常使用这种方式的,如果需要覆盖原来分支,可能还需要进行分支重命名
方法三: 反做提交
反做某一个版本,不需要提交的版本
使用git revert -n 版本号反做,并使用git commit -m 版本名提交
注意: 这里可能会出现冲突,那么需要手动修改冲突的文件。而且要git add 文件名。 具体可以参考:https://blog.csdn.net/yxlshk/article/details/79944535
小结
如果错误提交之后没有很多提交的情况下,使用方法一或者方法二,
使用方法一时候,可以提前基于当前分支创建一个分支作为备份
使用方法二,有的情况下,可能要面临分支重命名的操作
如果B之后还有巨多提交,那就使用方法一和方法二就有点麻烦了,就使用重做
- 上一篇: git 将本地还原至某次提交 git还原到指定版本
- 下一篇: git安装使用 git的安装流程
猜你喜欢
- 2024-10-27 git安装使用 git的安装流程
- 2024-10-27 git 将本地还原至某次提交 git还原到指定版本
- 2024-10-27 git reset 和 git rever 实践 git的reset
- 2024-10-27 这有一份 Git 日常使用清单,你需要吗?
- 2024-10-27 Git教学篇2-git日常操作之git clone与git tag
- 2024-10-27 git clone切换分支步骤,代理设置,作者信息设置
- 2024-10-27 Git 高级用法,喜欢就拿去用 git常用
- 2024-10-27 Git 必知必会《续》 git hint
- 2024-10-27 git的使用 git基本用法
- 2024-10-27 Jenkins企业部署图文干货-git钩子篇
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- sd分区 (65)
- raid5数据恢复 (81)
- 地址转换 (73)
- 手机存储卡根目录 (55)
- tcp端口 (74)
- project server (59)
- 双击ctrl (55)
- 鼠标 单击变双击 (67)
- debugview (59)
- 字符动画 (65)
- flushdns (57)
- ps复制快捷键 (57)
- 清除系统垃圾代码 (58)
- web服务器的架设 (67)
- 16进制转换 (69)
- xclient (55)
- ps源文件 (67)
- filezilla server (59)
- 句柄无效 (56)
- word页眉页脚设置 (59)
- ansys实例 (56)
- 6 1 3固件 (59)
- sqlserver2000挂起 (59)
- vm虚拟主机 (55)
- config (61)
本文暂时没有评论,来添加一个吧(●'◡'●)