赞
踩
git log:查看之前修改的日志信息
加上--pretty=oneline可以使信息简短
git reset --hard <version>:跳转到某个版本
git reflog:用于记录每次跳转版本和提交的命令,可以查出每次的版本号
git checkout -- <flile>:将工作区的文件的修改清除
这里有两种情况:
一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;
一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
git reset head <file>:清除暂存区的修改(使用git add添加到暂存区的修改,即取消git add)
在对版本的修改之前,我们先修改然后提交一个新的版本
修改前的README.md
修改后
将修改提交
push到远程仓库
假如这个时候突然想回到上一个版本,即撤销这次修改,那咋整,这个时候我们只需要使用git reset --hard <version>来跳转到上一个版本即可,而上一个版本的版本号可以通过git log或者git reflog来查看
这里黄色的字体commit 后面的就是版本号
git reflog显示了版本号的前几位,实际上跳转版本时也只需要前几位
此时我们看到了在new version之前的版本号是0679020,那我们就跳转到该版本
再使用git log查看,可以发现已经没了new version那个版本
我们使用git reflog来看,会发现多了一个跳转的记录
这是在已经提交上去之后的回退版本,如果是在工作区的修改,就更容易撤回了
再次修改READNE.md文件,不添加到暂存区
使用git checkout -- <file>撤回工作区的修改
此时的README.md文件已经回到原来的样子了
这种git操作适用于某个文件的修改不想撤回,又忘记改了哪些部分,当然,假如所有文件的修改都想撤回,直接git checkout -- *即可
如果修改已经被提交到暂存区,则需要使用git reset head <file>来清除暂存区的修改,然后再清除工作区的修改就能将修改彻底撤回
再对README.md做修改
将修改添加到暂存区,使用git status查看可发现已经被提交到暂存区了
将添加到暂存区的add撤回,再使用git status查看状态发现已经从暂存区回到工作区了
使用git checkout -- <file>后工作区的修改也被删除,使用git status查看时无可提交的修改,README.md也回到原来的版本
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。