GIT仓库如何恢复到前⼀次提交
GIT仓库如何恢复到前⼀次提交
通过使⽤版本恢复命令ret,可以回退版本。ret命令有3种⽅式:
1. git ret –mixed:此为默认⽅式,不带任何参数的git ret,即时这种⽅式,它回退到某个版本,只保留源码,回退
法冠commit和index信息
2. git ret –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file⼀级。如果还要提交,直接commit即
鲁滨逊漂流记感想皱纹纸手工可
电脑一切正常就是打不开网页3. git ret –hard:彻底回退到某个版本,本地的源码也会变为上⼀个版本的内容
以下是⼀些ret的⽰例:
海尔格
1 git ret HEAD^ #回退所有内容到上⼀个版本
2 git ret HEAD^ a.py #回退a.py这个⽂件的版本到上⼀个版本
3 git ret –soft HEAD~3 #向前回退到第3个版本
4 git ret –hard origin/master #将本地的状态回退到和远程的⼀样
表兄妹可以结婚吗5 git ret 057d #回退到某个版本
6 git revert HEAD #回退到上⼀次提交的状态,按照某⼀次的commit完全反向的进⾏⼀次commit
如果我们某次修改了某些内容,并且已经commit到本地仓库,⽽且已经push到远程仓库了,这种情况下,我们想把本地和远程仓库都回退到某个版本,该怎么做呢?前⾯讲到的git ret只是在本地仓库中回退版本,⽽远程仓库的版本不会变化,这样,即时本地ret了,但如果再git pull,那么,远程仓库的内容⼜会和本地之前版本的内容进⾏merge,这并不是我们想要的东西,这时可以有2种办法来解决这个问题:直接在远程rver的仓库⽬录下,执⾏git ret –soft 10efa来回退。注意:在远程不能使⽤mixed或hard参数,在本地直接把远程的master分⽀给删除,然后再把ret后的分⽀内容给push上去,如下:
git branch old_master #新建old_master分⽀做备份
git push origin old_master:old_master #push到远程
git ret –hard bae168 #本地仓库回退到某个版本
git push origin :master #删除远程的master分⽀
git push origin master #重新创建master分⽀
如何种植番茄⼀不⼩⼼把本地的临时分⽀push到rver上去了,想要删除。⼀开始⽤:
git branch -r -d origin/branch-name
不成功,发现只是删除的本地对该远程分⽀的track,正确的⽅法应该是这样:
git push origin :branch-name烤箱烤饼干
冒号前⾯的空格不能少,原理是把⼀个空分⽀push到rver上,相当于删除该分⽀。