git版本回退, github版本回退

上周提交了更改,过了周末回来说要撤销上个story。于是,需要找到上周提交的版本,rollback回来。

git版本管理命令,自从习惯使用管理工具之后就很少接触了,当突然寻找其他指令的时候就成浆糊了,ctrl+k只能顺利的提交而无关管理。因此,工具简化操作却弱化了技能。就像前几天听到的BBC 6分钟英语的一段对话。

Rob说他当年在酒吧实习,对钱的加减算法很熟悉很强,因为那时候计算机还没有推广。

计算器的出现使人们放弃了自己计算的本领。有时候即便仅仅是简单的加减法也不愿用自己的脑袋计算了。不说好坏,自己的感觉非常糟糕,因为觉得自己曾经拥有的技能消退了而难过。所以说,加强自身而不完全依赖于外物还是很重要的。

管理git的全部回退原理和方式,参考git代码回滚:Reset、Checkout、Revert的选择。这里,只是记录我遇到过的做法。

1.reset

几个月前,我提交了一次更改,这个更改涉及几十个文件,提交到github,Jenkins build,然后health check 503 error。看着报错我毫无头绪,不明白health check究竟是因为代码的哪部分造成的,这提醒我以后的错误日志一定要详细。但有一点是肯定的,这次提交的更改有问题。既然上一次的代码没问题,那就回退吧。

我在本地,使用git reset current branch to here. 这是Intelij自带的git管理工具,可以指定版本后,然后回退到指定版本。本质上就是 git  reset 版本号。

显然,这个指令就是将head指针后退了一下,也就是说,当前版本是落后的。而我从master的最新一次提交reset到倒数第二个,那么我的当前的版本比maser落后一次提交。

既然回退好了,需要merge到master上面。对应到github上就是pull request.然而,当我选择pull request的时候显示nothing.说本次更改不用merge。也就是说master的历史中已经包含了这个版本,所以不用merge。

因此,如果想要合并分支,那么要合并的分支必须比当前分支的版本先进。显然,reset只能重置本地或者说本分支的更改。那么,我如果想要mater回退,我必须提交一个比mater先进而且内容正好的是上一次提交的相反的修改。这就是revert干的事情。

2.revert

revert指定版本可以实现版本回退。这个不是像reset一样指针回退,而是会创建一个新的提交,而且将指定版本的修改逆过来。这样,我们想回退的内容被逆反修改过来了,而且我们的版本比master先进。这样就可以直接提交了。

时间: 2024-10-12 16:18:52

git版本回退, github版本回退的相关文章

git基础①创建版本库和版本回退

集中式版本控制系统:版本是集中存放在中央服务器的,做项目的时候要先从中央服务器里面取得最新版本,做完项目然后在推送上传到中央服务器进行储存.缺点是没有网络或者是网速不够快,上传和下载文件要很长时间,不方便也不安全. 分布式版本控制系统:在自己电脑上创建一个本地版本库,修改,上传在本地进行就可以,方便快捷,2人协作,可以直接相互推送给对方,就可以看到各自的修改,多人协作 通常也建立个一个中央服务器,但是这个服务器的作用仅仅是用来方便大家的修改,没有也可以一样的工作,只是没有那么方便而已 安装git

Git 如何让单个文件回退到指定的版本

1.   进入到文件所在文件目录,或者能找到文件的路径 查看文件的修改记录 git log  MainActivity.java 2.   回退到指定的版本 git reset f7a220761c312d47013c394d750528f9acbc3099  MainActivity.java 3.   提交到本地 git commit MainActivity.java  -m "reset to revision" 4.   更新到工作目录 git checkout MainAc

Git时光穿梭,版本回退,工作区.......

1.如果git status告诉你有文件被修改过,用git diff可以查看修改内容. 2.查看历史记录,在Git中,我们用git log命令查看,git log命令显示从最近到最远的提交日志, 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上--pretty=oneline参数,git log --pretty=oneline 3.回退到上一个版本 可以使用git reset命令:git reset --hard HEAD^   4.可以指定回到未来的某个版本:git reset --hard

1.GIT常用命令-创建版本库和版本回退

一.安装GIT $ git 查看目前系统里面有没有装GIT sudo apt-get install git 安装GIT $ git config --global user.name "Your Name" $ git config --global user.email "[email protected]" 配置用户名称 $ git init 二.创建版本库 把一个文件夹变成一个可以管理的仓库 $ git add readme.txt 添加一个文件到仓库 $

Git 基础教程 之 版本回退

不断对文件进行修改,然后不断提交修改到版本库里. 当你觉得文件修改到一定程度时,可以保存一个"快照",这个"快照"在Git中称为"commit". 一旦文件被改乱了.误删了,都可以从最近一个"commit"恢复.        HEAD 表示 当前版本        HEAD^ 表示 上一个版本        HEAD^^ 表示 上上个版本        HEAD~100 表示 往上100个版本 回退到上一个版本      

Git教程之如何版本回退

一.前言 上一章节,我们已经学会了如何创建版本库,如何提交文件到版本库,如何查看最近提交文件的记录,那么如果现在我们想回退版本怎么操作呢? 二.步骤 ①现在继续对readme.txt文件进行修改,再增加一行,内容为33333333.继续执行命令如下: Git教程之如何版本回退的照片 - 1 ②对readme.txt文件做了三次修改,现在想查看下历史记录,如何查呢?我们现在可以使用命令 git log 如下所示: Git教程之如何版本回退的照片 - 3 git log命令显示从最近到最远的显示日志

简明git教程(单人版本)

最近开始写一个比较大的东西,所以需要用到git,之前一直在用金山快盘和乌龟搭建的SVN,最近想尝试一下git 1.安装 Ubuntu: 1 sudo apt-get install git 老版本的Ubuntu下: 1 sudo apt-get install git-core 其他版本的Linux下需要从官网下载源码安装 1 ./config 2 make 3 sudo make install 2.创建版本库 mkdir sexybear cd sexybear pwd (pwd命令用于显示

Git版本控制工具---本地版本库的常用操作

  [正文] 在上一章节中,我们学习了关于Git最基本的用法,包括安装Git.创建版本库,以及提交本地代码.本章节中将学习更多的使用技巧.即:Git版本控制工具(一)----git的安装及创建版本库 我们先要做好准备工作,将某个项目创建版本库,我这里就新建一个Android项目GitTest,创建一个版本库.打开Git Bash,进入到这个项目的根目录下,然后执行git init命令,如下图所示: 这样,准备工作就做好了. 一.忽略文件: 版本库已经创建好了,接下来我们需要提交项目中的代码,但是

Git 学习笔记<本地版本库的管理> (二)

今天来记录一下关于版本库的创建与管理的笔记. 版本库是什么? 版本库可以理解为一个仓库(一个可以被git管理的目录),里面文件的修改删除都可以被追踪,并且每个版本都会保存以便还原(仅仅保存修改或删除的文件),于是可以认为保存了各种不同的版本,所以叫版本库. 如何管理? Git给你提供各种不同的指令来管理版本库. 1.创建: 选择一个地方创建一个新文件夹,然后进入这个文件夹(windows中不要出现中文路径) $mkdir LEARNER   //当前目录下新建文件夹 $cd LEARNER //