美文网首页GitGit使用
git 的版本回滚操作

git 的版本回滚操作

作者: yang_young | 来源:发表于2017-05-11 13:20 被阅读0次

git版本含义

git中版本的意思就是commit,每次commit就是一个版本,所以每次git commit -m “some msg”是必须的。这相当于给我们的版本命名了。


关键代码:

在各种git commit之后,使用 git log 来进行查看自己版本状态,发现其中包含了很多自己的commit 信息,关键的是长长的hash码以及后面你写的msg(可以加上选项--pretty=oneline,简化输出,退出按q即可)。

touch 1.file
git add --all
git commit -m “add 1”
touch  2.file 
git add --all
git commit -m "add 2"
git log --pretty=oneline

输出结果:

efca973bf99228ac1f78d75d89f02a0d3bc0561e add 2
d59acbcf242f573dce99f7ad9af99c4e40e59718 add 1
d5193dc3564817a3d882d914e3e748f946380c5d  dd

回滚的两种方式:
方法一:

  git reset --hard HEAD^

一个^符号表示当前的上一个版本,两个就是上上个版本。。。

方法二:

  git reset --hard id

id就是git log中得到的版本号就是那段长长的hash码,不用复制完,取前边几位就可以了。

补充:
选项的区别:

选项 作用
-- hard 直接改变当前文件中以及版本号的状态。真正的回滚回去
-- soft 只是改变当前的版本号,没有改变当前的文件状态
--mix 改变了head 以及 index 但是不改变当前的文件状态

简单的来讲,你自己修改了文件就是改变文件状态,输入Git add之后会改变当前项目的index,而Git commit 会改变head,Git push会拿你本地的head和远程的来比,那个版本高就听谁的,一样高又不一样就会有冲突。回滚顾名思义就是反操作而已,对着看就能看出规律来。


后悔药:

回滚回去之前的版本后,我后悔了,那么就可以用以下的操作:
git reflog
就可以看到之前的因回滚而消失的版本,通过此命令就可以查到相应的id号,就可以直接git reset --hard <id> 就可以回滚回去了。

有选择性的后悔药:

比如我不想回滚整个版本,只想回滚回之前版本的某一个文件,如下操作:

git checkout HEAD~1 <FILE NAME>

----END----

相关文章

  • Git 命令

    git 基本操作 分支快照 最佳关联方式 直接修改git的配置文件 config 版本回滚原理 git用户配置 打...

  • git 的版本回滚操作

    git版本含义 git中版本的意思就是commit,每次commit就是一个版本,所以每次git commit -...

  • Git 版本回滚及删除相关操作

    Git 版本回滚相关操作回滚相关操作:(已经加入到了暂存区,或已经提交)把当前版本回退到上一个版本,就可以使用gi...

  • git revert 与 git reset

    Git版本回滚之 git revert 与 git reset 在使用 git 的时候,如果错误push之后,经常...

  • Git 版本回滚

    目前团队中用的是git作为版本管理,dev分支为常规开发分支,master为上线分支,常规上线后,不可避免的有bu...

  • git版本回滚

  • git版本回滚

    回滚版本 方法一 reset适用于普通分支,且当前分支未被他人覆盖提交(加入master是保护分支,无法-f提交)...

  • git版本回滚 与 cherry pick

    git版本回滚 与 合并git push -f 需要关闭保护分支 GIT 冲突的版本cherry pick过的可以...

  • git 本地代码回滚&&强制更新远端代码 / 本地不想回滚&

    文章参考 git本地版本回退与远端版本回退(回滚) 本地代码回滚&&强制更新远端代码 如果已经提交代码到maste...

  • 使用SVN进行版本回滚查看

    Mac下使用SVN怎样进行版本回滚? 之前公司一直使用的Git进行版控,新到一家公司,换成了SVN,相比...

网友评论

    本文标题:git 的版本回滚操作

    本文链接:https://www.haomeiwen.com/subject/erggtxtx.html