您的位置:首页 > 编程语言

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因为我们现在是回到了"第一次提交"这个版本,所以需要先合并,才可以删除,否则它会报错:



迷迷糊糊的写了这一些。可能不太好,现在也夜深了,改天再回来修改吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐