博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git远程库版本回滚
阅读量:6438 次
发布时间:2019-06-23

本文共 2129 字,大约阅读时间需要 7 分钟。

 

在git的一般使用中,如果发现错误的将不想staging的文件add进入index之后,想回退取消,这就叫做git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id。可以使用命令:git reset HEAD <file>...,同时git add完毕之后,git也会做相应的提示,Git reset 是Git最常用的命令之一,也是最危险最容易误用的命令。 用法参考

【本地代码库回滚】:

git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除

git reset --hard HEAD~3:将最近3次的提交回滚

 

【远程代码库回滚】:

这个是重点要说的内容,过程比本地回滚要复杂

应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布

原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支

操作步骤:

1、git checkout the_branch

2、git pull

D:\FitProject\NPS>git pull

remote: Counting objects: 307, done
remote: Finding sources: 100% (245/245)
remote: Getting sizes: 100% (134/134)
remote: Compressing objects: 100% (31123/31123)
Rremote: Total 245 (delta 156), reused 242 (delta 154)
Receiving objects: 100% (245/245), 22.67 KiB | 0 bytes/s, done.
Resolving deltas: 100% (156/156), completed with 40 local objects.
From xxxxxxxxxxxx
    fe0d037..d159d4d  stable_chh_1127 -> origin/stable_chh_1127
Already up-to-date.

3、git branch the_branch_backup //备份一下这个分支当前的情况

D:\FitProject\NPS>git branch Geffdev_0926_backup

4、git reset --hard the_commit_id //把the_branch本地回滚到the_commit_id

D:\FitProject\NPS>git reset --hard 56f7c0d56befd4cad99a6017062824e073b56c01

HEAD is now at 56f7c0d 封装付款体现Relay接口

5、git push origin :the_branch //删除远程 the_branch

6、git push origin the_branch //用回滚后的本地分支重新建立远程分支

D:\FitProject\NPS>git push origin : Geffdev_0926

To xxxxxx
  ! [rejected]        Geffdev_0926 -> Geffdev_0926 (non-fast-forward)
  ! [rejected]        develop -> develop (non-fast-forward)
  ! [rejected]        master -> master (non-fast-forward)
  ! [rejected]        stable_chh_1127 -> stable_chh_1127 (non-fast-forward)
error: failed to push some refs to xxxxxx
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.

D:\FitProject\NPS>git push origin  Geffdev_0926

Total 0 (delta 0), reused 0 (delta 0)
remote: Updating references: 100% (1/1)
To xxxxxx
  * [new branch]      Geffdev_0926 -> Geffdev_0926

7、git push origin :the_branch_backup //如果前面都成功了,删除这个备份分支

转载地址:http://gmzwo.baihongyu.com/

你可能感兴趣的文章
linux命令2
查看>>
iOS-UICollectionView
查看>>
lombok(@Getter&@Setter)
查看>>
shiro+redis多次调用doReadSession方法的解决方案
查看>>
浅谈EntityFramework框架的使用
查看>>
asp.net identity的学习记录
查看>>
vue中mixins的使用方法和注意点(详)
查看>>
linux中redis的主从
查看>>
【20181102T2】飞越行星带【智商题+最小瓶颈路】
查看>>
iphone-common-codes-ccteam源代码 CCRadix.h
查看>>
ipad4没有声音提示消息
查看>>
扩展的母函数(可以做减法的母函数)(当然只要你愿意也可以做乘除!)
查看>>
UVa 1368 - DNA Consensus String
查看>>
第一个只出现一次的字符位置
查看>>
解决报错:import sun.misc.BASE64Decoder无法找到
查看>>
Swift-binary search tree
查看>>
PLSQL_性能优化系列20_Oracle Result Cash结果缓存
查看>>
ADF_Tutorials系列17_ADF Faces_使用布局组件
查看>>
转盘抽奖游戏
查看>>
oracle常用函数
查看>>