git已经push代码到gitlab如何回退

原创 2017年10月13日 10:42:51

开发经常会遇到代码提交后又想回到上一个提交的版本,但是不知道怎么操作,我也经常忘了需要百度才能搞定,现在写下这篇文章作为记录:

已经提交到git但是没有push的

1、回退到上一个版本,并保留修改记录,先查看提交历史:

$ git log
commit b69a4ced352ec9d5bd9dbf0036a052f9812854fb (HEAD -> master, origin/master)
Author: zhuhualong <zhuhualong@beyondcent.com>
Date:   Thu Oct 12 18:29:53 2017 +0800

    选择服务器控件修改

commit eb3378a32d36c03825e444002e541a2d12af274c
Author: yangze <yangze@beyongcent.com>
Date:   Wed Oct 11 10:01:05 2017 +0800

    测试主机联通性工具类

commit bd2a381042868a331730ba549065ed8aaba817e9
Merge: 5c4a2ff f0d82fa
Author: yangze <yangze@beyongcent.com>
Date:   Wed Oct 11 10:00:18 2017 +0800

    Merge branch 'master' of http://172.16.15.19/cop2/cop_task.git

commit f0d82fa46a818525cf042a157e0fc889e0c813f6
Author: wangxi@beyondcent.com <wangxi@beyondcent.com>
Date:   Tue Oct 10 20:48:56 2017 +0800

2、回退到指定的版本处:

$ git reset eb33
Unstaged changes after reset:
M       cop.task.web/src/main/webapp/statics/api/assets/server/serverList.json
M       cop.task.web/src/main/webapp/statics/css/app.css
M       cop.task.web/src/main/webapp/statics/js/app/operation/tpl_task.js
M       cop.task.web/src/main/webapp/statics/js/config.lazyload.js
M       cop.task.web/src/main/webapp/statics/js/controllers/selectServerModal.js
M       cop.task.web/src/main/webapp/statics/tpl/operation/template/selectServerModal.html
M       cop.task.web/src/main/webapp/statics/tpl/operation/template/targetServer.html

3、或者回退所有内容到上一个版本
git  reset  HEAD^ 

这里写代码片

4、#回退test这个文件的版本到上一个版本      

git  reset  HEAD^  test.py 

这里写代码片

5、将本地的状态回退到和远程的一样      

git  reset  –hard  origin/master 

6、回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit      

git  revert  HEAD

7、将本地状态回退到某个指定版本,回退前所有的修改丢掉

$ git reset --hard eb33
HEAD is now at eb3378a 测试主机联通性工具类

已经提交到gitlab如何同步回退gitlab的代码

1、git本地回退到指定版本后,按以往的提交顺序进行提交时会出现这个问题

$ git push origin master
Username for 'http://172.16.15.19': lbp
To http://172.16.15.19/cop2/cop_task.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'http://172.16.15.19/cop2/cop_task.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

2、这是因为gitlab已经在你提交历史前面了,你无法把push过的再次push进行覆盖,这个时候加个参数–force就行

$ git push origin master --force
Username for 'http://172.16.15.19': lbp
Total 0 (delta 0), reused 0 (delta 0)
remote: GitLab: You are not allowed to force push code to a protected branch on this project.
To http://172.16.15.19/cop2/cop_task.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://172.16.15.19/cop2/cop_task.git'

3、加完参数后发现gitlab不允许强行push到保护的分支上,解决方法是让项目的管理员暂时在gitlab上把你要提交的分支设置为不受保护的分支即可

$ git push origin master --force
Username for 'http://172.16.15.19': lbp
Total 0 (delta 0), reused 0 (delta 0)
To http://172.16.15.19/cop2/cop_task.git
 + b69a4ce...eb3378a master -> master (forced update)
版权声明:工作和生活的点点滴滴都应该记录下来!

相关文章推荐

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库——Window...

git的使用方法:回退本次commit,提交代码到另一个远程仓库,修改远程仓库地址

1. git创建本地分支:git branch branchName #branchName 分支的名称2. git修改前一次commit的message git commit -a --amend ...

git远程仓库代码回退

有时候项目运行后,发现修改产生了新的问题,这时候我们就要回退代码。如果修改的代码很少的话,可以手动修改回来,有时候修改了很多内容,甚至忘了修改了哪些内容,这时候就需要用到reset命令了,其实git提...

git学习——设置gitlab、github默认push的用户名和密码

在使用git的时候,不同的环境下,当你重新安装git,最好在开始的时候就配置一下默认的git的用户名和密码,这样子就可以在每次的push的时候不需要手动的在去输入git的用户名和密码,提高执行的效率。...

gitlab push代码通过webhooks自动触发jenkins构建设置

1、环境设置:jenkins及gitlab安装好 2、jekins安装插件Gitlab Hook Plugin 3、配置jenkins job,如下: 4.登录gitlab找到相应项目,编辑添加...

git版本回退

1. 修改readme.txt的内容,并提交至版本库   readme.txt git is a version control system. git is free software.$ gi...

git回退的一次教训

对于git的认识从刚入职开始,简单了解后知道主要功能,代码托管,OK! 因为只是个简单的代码托管工具,所以对它的了解只是会简单使用即可,然而......问题出现了。 在一次对工程进行修改后(花费了...

git常用指令 github版本回退 reset

常用流程1. git clone xxx (xxx是已经fork的,自己的repo)2. cd xxx; git remote add somemarks YYY (YYY是master的repo,...
  • neuldp
  • neuldp
  • 2016-07-11 19:50
  • 4587

Git-02_版本回退

删除仓库     说明         删除掉.git目录即可删除repository     操作         $ cd e:     ...

GIT远程仓库回退方法

GIT远程仓库回退方法 引用块内容 1 问题素描 如果提交注释错误如何回退 如果提交了一个错误的版本到了本地仓库如何回退 如果提交了一个错误的版本到了远程公共仓库如何回退 2 提交...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)