【Git】之Git版本回退

这篇博客主要记录了关于 查看记录、版本回退、添加标签、删除文件 的操作


1、查看文件修改情况:

可以通过 git diff a.java 查看a.java文件自从上次提交后的修改情况,如果自从上次提交之后没有修改,则不弹出任何信息。

在 git diff 命令得到的结果中,用绿色字体标记出新加的行,用红色字体标记出删除的行。如果对某一行进行了修改,则会用红色字体写出修改前的行,再用绿色字体标记出现在的行。

【Git】之Git版本回退_第1张图片


2、查看历史记录:

使用 git log --pretty=oneline 命令查看历史记录,即commit记录,其结果显示的是从最近到最远的提交。其中,“2287……d59d”表示的是commit id,即commit的版本号。



3、版本回退:

每当你觉得文件修改到一定程度的时候,就可以“保存一个快照”,这个快照在Git中被称为commit。一旦你把文件改乱了,或者误删了文件,还可以从最近的一个commit恢复,然后继续工作,而不是把几个月的工作成果全部丢失,这就是版本回退的原理。版本回退有以下几种情况:

(1)回退到N个版本之前git reset --hard HEAD~N。HEAD是一个指向当前版本的指针,HEAD~N就是当前版本倒退N个版本之前的版本:

【Git】之Git版本回退_第2张图片

(2)回退到指定版本git reset –hard 2287aaf17fc4dc22a64c1ff14a6fcfd5d789d59d。这种方式可以根据commit id回退到任意一个版本,无论是以前的版本还是以后的版本:

【Git】之Git版本回退_第3张图片

(3)如果在回退之后关机,重新开机后想恢复到最新版本,此时用git log命令没用,可以用 git reflog 命令查看历史操作,根据最前面的commit id,通过git reset命令恢复

【Git】之Git版本回退_第4张图片

(4)如果想撤销一个即没有add也没有commit的文件的内容,可以使用 git checkout -- a.java 命令

(5)如果想撤销一个已经add但还没commit的文件的内容,可以使用 git reset HEAD a.java 命令

(6)如果想撤销一个已经commit的文件的内容,可以使用版本回退

(7)如果想撤销一个已经推送到远程仓库的文件的内容,是不可能的


4、删除文件:

可以直接从文件系统中删除文件,但此时文件在本地仓库中仍然存在,如果想彻底删除文件,可以使用 git rm a.java,此时就不能恢复文件了;如果还没有rm,可以使用 git checkout -- a.java 从本地仓库中恢复文件。


5、标签:

(1)添加标签到当前分支的最新commit:git tag v1.0

(2)添加标签到当前分支的某个commit:git tag v1.0 6224937,最后一个参数是commit id

(3)查看标签:git tag

(4)查看某个标签的信息:git show v1.0

(5)添加带有说明的标签:git tag –a v1.0 –m “my tag” 6244937,即在6244937这个commit上加一个tag,tag说明是my tag


你可能感兴趣的:(git,【Git】)