您的位置:首页 > 其它

git 版本回退

2017-07-25 20:03 591 查看

git版本回退(浅谈 git reset 与 git revert)

git这个工具,程序员大爱,实在是太优秀了。

不过有的时候,可能需要回退到前一个版本,或者前n个版本,或者要丢弃中间的某一个版本,这个时候,该git reset 与 git revert 出场了。

不得不说,两者各有千秋,在不同的场景下,择合适用之。

git revert af123xxxx (想要丢弃的那个commit的版本号)

意为 仅撤销掉 版本号af123xxx 对应的提交 既不会影响到该版本之后的提交也不会影响到该版本之前的提交,并且会新增加一个版本号,push 下即可,简单易用。

git reset af123xxxx (想要回到的那个commit的版本号)

意为 回到af123xxxx 这个版本, 该版本之后的提交都丢弃,但不会新增版本号,也就是说那些代码其实都还在的,如果需要彻底删除掉那些代码,这时候需要 往远程推一下。

需要注意的是,此时的版本号比远程的要低,直接push 的话,是push 不动的,需要 -f (force) 参数来帮忙。

下面记录下某次的回退。

1)
git reset a2bcxxxxxxxxxxx --hard


2)
git log


3)
git status


On branch master
Your branch is behind 'origin/master' by 2 commits, and can be fast-forwarded.
(use "git pull" to update your local branch)
nothing to commit, working directory clean


OK,成功回退了三个commit!

4)
git push  -f  origin master


推到远程,OK,3个版本的代码已弃。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息