Git的版本回退----“后悔药”以及删除分支
2018-03-27 00:21
253 查看
前篇说了commit ID很重要,为什么重要呢?在这里揭晓啦!
每当我们做错事的时候,总是很后悔,可是都没有后悔药吃,但是在Git这里,它提供后悔药。
我先先创建一个"second.txt"文档,测试一下:
创建好,并且提交了一次。但是里面是空白的,并没有内容,现在我们再添加内容:第二次提交。
然后再commit:
我们看到它的commid ID,发现每次commit 后的ID都不一样。这有利于我们准确的吃某个时间段的"后悔药"。我们输入一下命令:git reset --hard HEAD^
我们选择回到刚创建没有填写内容的版本。其中输入命令后,它提示 More? 我们填写了 “~”,这个符号表示,上一个commit的版本,然后我们就回到了 "second"这里了,我们看看文本里面的内容,发现是空的:
我们,再继续吃后悔药,回到中文编码"第一次提交"的那个版本。为了不看那么多log信息,我们使用这个命令:git reflog
这个 reflog 命令,是记录我们每一次输入的命令,然后我们找到 那段乱码的 commit ID,输入命令:git reset --hard fa8694b
表示已经回到了 “第一次提交”的那个版本。同样的,工作区那里也只剩下这个 hello.txt,first、second也没有了。
其实版本回退就是 HEAD 在时间线上的圈圈来回移动,你需要去哪里,填写上它的commit ID就可以了。画图理解:
由于我们没有删除dev分支,所以dev分支依旧跟着它回退。
git reset --hard表示查看当前 HEAD指向哪个“圈圈”。
那么我们不要dev分支,该怎么删除呢?其实很简单,输入下面命令:git branch -d dev因为我们现在是回到了"第一次提交"这个版本,所以需要先合并,才可以删除,否则它会报错:
迷迷糊糊的写了这一些。可能不太好,现在也夜深了,改天再回来修改吧。
每当我们做错事的时候,总是很后悔,可是都没有后悔药吃,但是在Git这里,它提供后悔药。
我先先创建一个"second.txt"文档,测试一下:
创建好,并且提交了一次。但是里面是空白的,并没有内容,现在我们再添加内容:第二次提交。
然后再commit:
我们看到它的commid ID,发现每次commit 后的ID都不一样。这有利于我们准确的吃某个时间段的"后悔药"。我们输入一下命令:git reset --hard HEAD^
我们选择回到刚创建没有填写内容的版本。其中输入命令后,它提示 More? 我们填写了 “~”,这个符号表示,上一个commit的版本,然后我们就回到了 "second"这里了,我们看看文本里面的内容,发现是空的:
我们,再继续吃后悔药,回到中文编码"第一次提交"的那个版本。为了不看那么多log信息,我们使用这个命令:git reflog
这个 reflog 命令,是记录我们每一次输入的命令,然后我们找到 那段乱码的 commit ID,输入命令:git reset --hard fa8694b
表示已经回到了 “第一次提交”的那个版本。同样的,工作区那里也只剩下这个 hello.txt,first、second也没有了。
其实版本回退就是 HEAD 在时间线上的圈圈来回移动,你需要去哪里,填写上它的commit ID就可以了。画图理解:
由于我们没有删除dev分支,所以dev分支依旧跟着它回退。
git reset --hard表示查看当前 HEAD指向哪个“圈圈”。
那么我们不要dev分支,该怎么删除呢?其实很简单,输入下面命令:git branch -d dev因为我们现在是回到了"第一次提交"这个版本,所以需要先合并,才可以删除,否则它会报错:
迷迷糊糊的写了这一些。可能不太好,现在也夜深了,改天再回来修改吧。
相关文章推荐
- Git 回退即删除本地仓库commit版本以及删除远端仓库相应的版本(即github上的commit版本)
- git教程2(版本回退、管理修改、删除文件)——廖雪峰老师
- 第02天GIT:(05):GIT命令的其他使用(起别名_删除文件_查看版本号版本_版本回退
- Git知识总览(三) 分支的创建、删除、切换、合并以及冲突解决
- Git 教程----3.0时光机穿梭 3.1版本回退 3.2工作区和暂存区 3.3管理修改 3.4撤销修改 3.5删除文件
- Git学习笔记二(版本回退、工作区和暂存区、撤销修改、删除文件)
- git使用总结。分支管理,版本跳转回退
- git推送本地分支到远端 以及删除远端分支的 命令
- 回退 服务器 上的 git 仓库 & 删除 服务器上的 git 分支
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- git知识总结4——查看历史、回退版本、删除
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- git查看本地和创建分支、上传分支、提交代码到分支、删除分支等,git分支、git查看本地和创建分支以及上传分支到服务器
- Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突
- Git学习系列(三)版本回退和管理文件的修改及删除操作
- git 创建以及删除分支
- git(四)-分支进阶与版本回退