git回滚远程仓库代码/错提master分支的恢复

前言

今天周五了,刚接了个新微服务模块,下班前高高兴兴开发完,提交git代码,jenkins发布到测试环境。突然看到一个提示

我最近提的代码呢?!!

想到可能会提错仓库,转念一想,不对呀,我怎有这么高的权限提到master呢?

去gitlab上看看,果然是推到了Master分支!/泪目 /泪目

于是有了这篇折腾记录!

正文

推送代码到正确的仓库

首先我得把现有的代码搞到dev分支,当前是在master上,master已经检出到本地master分支上了,

直接用现成的

master -> orgin: dev (具体命令我是不会写了)

回滚本地master代码

git log 查看commit 版本号

git reset --hard ‘master没乱之前的版本号‘

强制回滚远程分支

git push -f origin master 强制推送当前分支到远程master

这里会出现一个问题,很有可能master分支会处于被保护状态,这里以gitlab举例,在左侧版本库中会有一个设置关闭保护的,点unprotected按钮就好了,上面的代码会正常,此时gitlab上代码已经正常了!注意恢复现场!

重新拉一份项目

经过上边的一些操作,开发工具分支可能有混乱的可能,所以推荐重新拉一份代码

git clone ‘git的url‘

切换到dev分支

本地切换出dev分支

git checkout -b dev

当然也可以使用开发工具里的

这里就不多说了,去找管git权限的人把自己的master权限关掉去!

原文地址:https://www.cnblogs.com/hellxz/p/10458405.html

时间: 2024-11-11 12:45:54

git回滚远程仓库代码/错提master分支的恢复的相关文章

git如何回滚远程仓库

使用git管理项目开发的过程中经常会碰到这种情况:某次提交已经push到了远程仓库,可是突然意识到“天哪,我怎么做了这么蠢的事情”.那么问题来了,怎么将远程代码库回滚呢? 在网上看到大部分人给出的解决方案是先将本地回滚,然后删除远程分支,之后再将本地的分支push到远程仓库,这其实是一种很危险的方案,毕竟直接删除远程分支太狠了,不推荐这样做... 关于远程仓库回滚 首先,必须要明白的一件事,任何普通用户不能擅自做有关远程仓库回退的操作,如果你擅自回滚了远程仓库,会对项目团队其他人造成不可预知的影

Git回滚远程版本

摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “房子是租的 但生活不是” 1.故事的开始 远程master分支下代码被不小心提交了很多垃圾代码或项目删掉,想要回滚到以前的某一版本并删除commit log.怎么办?情景如图: 情景很简单.老板上传了个文件,我把他删掉了.有一种办法,把文件再push下,但是也不想他看到图中那comment(ps:这样我才不会被fire).实现上面场景的代码如下: vim A.txt git add . gi

Git学习4--远程仓库

注意:本地Git仓库和Github仓库之间的传输是通过SSH加密的, 设置: 第1步:创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key: $ ssh-keygen -t rsa -C "[email protected]" 注意:你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用

git回滚到某个版本操作

git回滚到某个版本操作: 1.git log //查看指过去的版本 2.     git reset --hard 复制上面commit后的字符串到此处 如果只想 回滚单机的,那么到上面就结束,如果要回滚远程仓库,那么: 3.  git push -f origin master    //强制提交

远程仓库获取最新代码合并到本地分支

这里共展示两类三种方式. 1.git pull:获取最新代码到本地,并自动合并到当前分支 命令展示 //查询当前远程的版本 $ git remote -v //直接拉取并合并最新代码 $ git pull origin master [示例1:拉取远端origin/master分支并合并到当前分支] $ git pull origin dev [示例2:拉取远端origin/dev分支并合并到当前分支] 分析:不推荐这种方式,因为是直接合并,无法提前处理冲突. 2.git fetch + mer

Git回滚代码暴力法

Git回滚有多种方式,这里使用的是[强制提交到远程分支] 效果为:如回滚前的提交记录是 1.2.3.4,使用这种方法回滚到2,那么提交记录就变成了1.2. 操作方法: 需要在本地的Git仓库,右键选择[Git Bash],输入reset --hard 命令 $ git reset --hard commit-id $ git push -f origin currentBranch 第一句作用是恢复到指定的版本,commit-id替换为对应的版本编号,在下面介绍如何获取 第二句的作用是把当前分支

Git更新远程仓库代码到本地(转)

参考链接:https://blog.csdn.net/chailyuan/article/details/53292031 在下载一个较大的github项目以后,当该项目代码更新以后,我们想将更新的内容与本地的代码同步.这次终于找到一个可用的方法,赶紧记录一下. 0x01 查看远程分支 使用如下命令可以查看远程仓库(我这里有一个origin仓库) $ git remote -v origin [email protected]:username/Animations.git (fetch) or

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

[Gitlab]GIT回滚master分支到指定tag版本 并提交远程仓库1 查看分支git branch 2 切换到master分支git checkout master 3 查看标签git tagv1.3.3v1.3.4v1.3.5 4 查看某个标签的详情git show v1.3.5commit fb479960c0cec5549463ae123d70bdd72ccf6be7 5 通过commit id回退git reset --hard fb479960c0cec5549463ae123

git 本地与远程仓库出现代码冲突解决方法

提交过程中报错: [[email protected] Selesystem]$ git push -u origin masterUsername for 'https://github.com': sdfasnamePassword for 'https://[email protected]': To https://github.com/nighttidesy/-Selesystem.git ! [rejected] master -> master (fetch first)error