如何使用Git 优雅的版本回退呢?】的更多相关文章

在版本迭代开发过程中,相信很多人都会有过错误提交的时候(至少良许有过几次这样的体验).这种情况下,菜鸟程序员可能就会虎驱一震,紧张得不知所措.而资深程序员就会微微一笑,摸一摸锃亮的脑门,然后默默的进行版本回退. 对于版本的回退,我们经常会用到两个命令: git reset git revert 那这两个命令有何区别呢?先不急,我们后文详细介绍. git reset 假如我们的系统现在有如下几个提交: Git如何优雅的进行版本回退? 其中:A 和 B 是正常提交,而 C 和 D 是错误提交.现在,…
在window下已经安装了git的环境 1.建立本地仓库 mkdir   test     #建立test目录 cd   test        #进入目录 git  init           #创建好了本地git仓库,会发现在test目录中多了一个.git目录,并且这个目录是隐藏的 示例: $ git init Initialized empty Git repository in F:/git-repo/test/.git/ init前 init后 2.提交文件到中转站和仓库(add和c…
在Git中,我们可以用 git log命令查看我们修改的历史记录 C:\Users\Administrator\Documents\GitHub\learngit [master]> git log commit 06da0ffc8ff902d1b7d55968dd2822a6e0cc7ac9 Author: Tryking <260119064@qq.com> Date: Thu Mar 10 14:29:22 2016 +0800 add World commit f4fa07feb…
学习地址 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”. 1. 初始化Git仓库 创建空目录 $ mkdir learngit $ cd learng…
git版本回退有两种情况,一种是从本地版本库中(head区)回退到某个版本,可以用命令 git reset --hard head^ 或git reset --hard head~x ,head指的是当前版本,head^指的是回退到上一个版本,head~x,x为任意大于0的数字,表示回退到当前版本的前x个版本.(如果你从最新的版本库回退到某个版本的时候又反悔了还是想回到最新的版本库,可以用git reflog命令找到每次操作的id,然后用命令git reset --hard id可以回到对应的版…
导读 在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题.快来试试吧. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个被称为 HEAD 的 标记来确定(如磁带录音机或录音播放器的播放头).要在你的 Git 时间线上前后移动 HEAD ,需要使用 git checkout 命令. git checkout 命令的使用方式有两种.最常见的用途是从一个以前的提交中恢复文件,你也可以整个倒回磁带,切换到另…
现在,我们已经学会了修改文件,然后把修改提交到Git版本库,现在再次修改readme.txt文件如下:…
在这篇文章中,你将学到如何查看项目中的历史版本,如何进行版本回退,以及如何创建 Git 分支以便你可以大胆尝试而不会出现问题. 在你的 Git 项目的历史中,你的位置就像是摇滚专辑中的一个片段,由一个被称为 HEAD 的 标记来确定(如磁带录音机或录音播放器的播放头).要在你的 Git 时间线上前后移动 HEAD ,需要使用 git checkout 命令. git checkout 命令的使用方式有两种.最常见的用途是从一个以前的提交中恢复文件,你也可以整个倒回磁带,切换到另一个分支. 恢复一…
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. Git is free software distributed under the GPL. 然后尝试提交: $ git add readme.txt $ git commit -m "append GPL" [master ] append GPL file changed, ins…
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛人该怎么定义? 零.结论先行 倒叙总结一下: HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令git reset --hard commit_id. 使用命令 git reset --hard HEAD^回退到上一个版本 穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本. 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本. 下面继续我们的学习: 1.G…
一.分支 1.分支简单介绍 简单使用: 可以将git branch new_branch和git checkout new_branch两个命令合并成一个命令: git checkout -b new_branch.这个命令的意思就是创建一个分支并且切换到这个分支上.本地分支改名: git branch -m 原分支名 新分支名 2.合并分支merge 这个过程中,下一个版本会记录一个parent id,这个parent id就是前一个版本的commit id. 注意当我们在dev中更改文件之后…
1.首先将本地仓库版本回退到自己想要的版本. git reset commit_id 2.将回退后的版本强制推送到远程仓库. git push -f origin master…
操作过程: 首先查看远程仓库版本,如下图所见,最近一次提交为2018-03-19 22:16:25 第一步:使用git log命令查看历史提交记录,选择要回退的版本号,commit后面一串字符,这里我们选择回退到commit 9d85ad9a…… 第二步:git reset --hard 9d85ad9a回退本地版本,并使用git log查看是否回退成功 第三步:git push -f强制回退远程仓库到当前版本 操作后查看远程仓库版本,发现2018-03-19 22:16:25的那次提交不见了,…
再次修改readme.txt ,并将其提交成功 $ git add readme.txt $ git commit -m "append GPL" [master ] append GPL file changed, insertion(+), deletion(-) 像这样,你不断对文件进行修改,然后不断提交修改到版本库里,就好比玩RPG游戏时,每通过一关就会自动把游戏状态存盘,如果某一关没过去,你还可以选择读取前一关的状态.有些时候,在打Boss之前,你会手动存盘,以便万一打Bos…
^是cmd.exe的escape字符,属于特殊字符,命令里要用到文字 ^ 时必须用双引号把它夹起来,因此只要如下就可以正确执行: git reset head"^"或者git reset "head^"…
本文为博主原创,未经允许不得转载: 之前在git提交版本时,发现将新开发的代码提交到了另一个分支上,为了不影响提交分支代码的 功能,需要回退到之前的版本. 在使用命令回退的时候,一直没有回退成功,有个同事过来帮忙,成功回退到之前的版本,并记录 一下. 查找到git提交时的备注,时间,找到提交时的版本,并方便回退. 同事是在git 小乌龟上进行回退的. 步骤:选中提交的项目右键--->TortoiseGit ----> show log,如图所示: 找到错误版本提交时的log右键,如图所示: 选…
目录 1.--soft回退说明 2.--mixed回退说明 3.--hard回退说明 4.总结 在Git中进行版本回退需要使用git reset命令. 以前面文章中的示例为例,当我准备在V4版本,回退到V3版本的时候,分支中的提交和工作目录中文件的状态,如下图所示: 我们分别执行了三种回退方式: git reset --soft HEAD^:温柔的回退. git reset --mixed HEAD^:中等回退. git reset --hard HEAD^:强硬的回退. (我们从英文中就可以看…
1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版本到远程分支,怎么回退远程分支版本? 如果提交了一个错误的版本到公共远程分支,又该怎么回退版本? 3 本地分支版本回退的方法 如果你在本地做了错误提交,那么回退版本的方法很简单 先用下面命令找到要回退的版本的commit id: git reflog 接着回退版本: git reset --hard Obfafd 0bfafd就…
1 简介 最近在使用git时遇到了远程分支需要版本回滚的情况,于是做了一下研究,写下这篇博客. 2 问题 如果提交了一个错误的版本,怎么回退版本? 如果提交了一个错误的版本到远程分支,怎么回退远程分支版本? 如果提交了一个错误的版本到公共远程分支,又该怎么回退版本? 3 本地分支版本回退的方法 如果你在本地做了错误提交,那么回退版本的方法很简单 先用下面命令找到要回退的版本的commit id: git reflog 1 接着回退版本: git reset --hard Obfafd 1 0bf…
由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现并没有回退,怎么办呢,经过实际操作,通过以下方法可以达到效果: 1:首先在本地分支执行“git reset --hard HEAD^”,将版本会退到以前.这里的“HEAD^”只是回退到上一个版本,如果要回退到更早的版本,可以通过“git log或git log --pretty=oneline”命令…
使用git命令 git rm css/\*.css 我删掉了css文件夹下所有以.css结尾的文件,那么要怎样才能把文件找回来呢,下面说说方法,删掉其他的文件也是一样的方式找回. 第一步:使用git log 命令,找到离没删文件前最近的commit id git log git log 下所有的黄色字段 commit xxxx,这个xxxx就是所有提交的id记录 第二步:ctrl+c 退出这个模式,使用下面的命令 git reset --hard 这里是commit id,也就是我上面说的xxx…
上周提交了更改,过了周末回来说要撤销上个story.于是,需要找到上周提交的版本,rollback回来. git版本管理命令,自从习惯使用管理工具之后就很少接触了,当突然寻找其他指令的时候就成浆糊了,ctrl+k只能顺利的提交而无关管理.因此,工具简化操作却弱化了技能.就像前几天听到的BBC 6分钟英语的一段对话. Rob说他当年在酒吧实习,对钱的加减算法很熟悉很强,因为那时候计算机还没有推广. 计算器的出现使人们放弃了自己计算的本领.有时候即便仅仅是简单的加减法也不愿用自己的脑袋计算了.不说好…
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. Git is free software distributed under the GPL. 然后尝试提交: git add readme.txt git commit -m "append GPL" [master 9a36c54] append GPL 1 file changed…
一.基础使用 1.初始化本地仓库 git init 2.关联远程仓库 git remote add origin git@github.com:用户名/仓库名.git 3.添加远程仓库文件到本地 git pull origin master 本地自动创建master分支用于跟踪远程origin/master分支 4.创建本地分支 $ git checkout -b 新的分支名Switched to a new branch "新分支名" 和以下效果等价 $ git branch 新分支…
这篇博客主要记录了关于 查看记录.版本回退.添加标签.删除文件 的操作 1.查看文件修改情况: 可以通过 git diff a.java查看a.java文件自从上次提交后的修改情况,如果自从上次提交之后没有修改,则不弹出任何信息. 在 git diff 命令得到的结果中,用绿色字体标记出新加的行,用红色字体标记出删除的行.如果对某一行进行了修改,则会用红色字体写出修改前的行,再用绿色字体标记出现在的行. 2.查看历史记录: 使用 git log --pretty=oneline命令查看历史记录,…
版本回退 git log    ,  git reset --hard xxxx回退到以前的版本 git reflog,  git reset --hard xxx 回退到将来的版本 现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. Git is free software distributed under the GPL. 然后尝试提交: $…
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. Git is free software distributed under the GPL. 然后尝试提交: $ git add readme.txt $ git commit -m "append GPL" [master 3628164] append GPL 1 file cha…
在阅读廖雪峰git教程时,对版本回退和暂存区撤销修改没太看懂,所以自己测试了一下. 版本回退: git reset --hard HEAD 这个命令用于版本回退,就是将已提交的版本覆盖本地工作区的内容.该操作会清空暂存区的内容 撤销修改: git checkout -- file 撤销对工作区的修改,以最新一次的时间节点(add或者commit)为准,这个命令只改变工作区内容 清空暂存区修改: git reset HEAD -- file 清空add命令向暂存区提交的修改,该操作之影响暂存区,对…
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目讲的,上篇主要是说用GUI来图形化界面操作,但是一般我们程序员也不会这么干,用命令又轻松又愉悦,所以,这里我就再开了一篇来专门说一下纯命令是怎么去操作的,但是要注意哦,其实廖雪峰老师的网站就是非常赞的学习资源哦! 廖雪峰老师:http://www.li…
目录 Git学习(一):初始化.添加文件.版本回退 初始化一个仓库 添加文件到Git仓库 版本回退 Git学习(一):初始化.添加文件.版本回退 初始化一个仓库 本文使用的命令行工具为cmder,部分显示可能和cmd不同,但结果是一样的 初始化一个Git仓库,使用git init命令.在cmder软件下初始化git后,目录后面会多出这么一串字符(master -> origin) 切换到非Git仓库路径时,后面是没有这串字符的 会在当前目录下生成一个.git 文件夹 若想取消初始化,删除改文件夹…