Git回滚版本并push到远端master

办法一、

【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库
1 查看分支
git branch

2 切换到master分支
git checkout master

3 查看标签
git tag
v1.3.3
v1.3.4
v1.3.5

4 查看某个标签的详情
git show v1.3.5
commit fb479960c0cec5549463ae123d70bdd72ccf6be7

5 通过commit id回退
git reset --hard fb479960c0cec5549463ae123d70bdd72ccf6be7

6 显示所有提交过的版本信息
git log

7 查看所有分支的所有操作记录
git reflog

8 显示工作目录和暂存区的状态
git status

9 提交远程仓库
git push origin master

10 git报错,需要进入gitlab项目设置,protected branches里取消master的protected,设置


办法二、

1.git log
定义:该命令显示从最近到最远的提交日志。每一次提交都有对应的 commit id 和 commit message
如果嫌弃输出的信息杂乱无章,那么加上 --pretty=oneline 参数试试
git log --pretty=oneline

2. git reset --hard id

git reset --hard HEAD^         //回到上个版本

git reset --hard HEAD^^        //是上上个版本

3.git push origin master
git push origin HEAD --force(最好不要)

4.git reflog
定义:查看命令操作的历史


办法三、

/*1.新建分支*/
git checkout -b temp              //新建分支并切换到temp分支
git push origin temp:temp         //将代码push到temp分支
/*2.删除主分支*/
git push origin --delete master   //删除远端主分支
git branch -d master              //删除本地主分支
/*3.新建主分支*/
git checkout -b master            //新建主分支并切换到主分支
git push origin master            //提交主分支
/*4.删除暂存分支*/
git branch -d temp
git push origin --delete temp

思路一

备注说明

-- 本地分支回滚到指定版本
git reset --hard <commit ID号>
-- 强制推送到远程分支
git push -f origin <branch name>

思路二

实际开发过程中,有时候我们会发现历史版本是对的,当前版本和远程分支是错的情况。我们这时候需要回滚到历史版本,并且让远程分支也回退到历史版本,下面来说一种解决办法。

1,先把本地的分支回退到历史版本:
1.1 使用 命令查看历史版本
git log --pretty=oneline
1.2 使用下面命令回滚,我们这里回滚到上一个提交版本

git reset --hard HEAD^
注意:上一个版本就是HEAD,上上一个版本就是HEAD,当然往上100个版本写100个比较容易数不过来,所以写成HEAD~100

2,把当前分支push到远程仓库并且让远程仓库和当前分支保持一致:
2.1 使用命令,这里假定我们当前的分支名为master

GIt 提供了一个命令 git reflog 来记录本机电脑的每一次命令。
$ git reflog

通过 id ,来回退曾经的版本。
$ git reset --hard HEAD^

参考文章

【Gitlab】GIT回滚master分支到指定tag版本 并提交远程仓库【图文】_PeterWang2018_51CTO博客

  Git 之 版本回退 - 简书
版本回退 - 廖雪峰的官方网站

Git版本管理:不同版本的切换 - 程序员大本营

git 回滚到指定版本并推送到远程分支 - 打个大大西瓜 - 博客园

题外话

git将本地分支恢复为远程分支
问题出现原因
本地分支与远程分支合并发生冲突,有很多无用的修改,直接使用远程分支覆盖
覆盖操作

git fetch --all
# origin/master为想恢复的分支名称,这里是github默认主分支
git reset --hard origin/master
# git最新改版变成下面,弃用master改为main
git reset --hard origin/main
git pull

  • 0
    点赞
  • 3
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:1024 设计师:我叫白小胖 返回首页
评论

打赏作者

罗汉翔

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值