您的位置:首页 > 编程语言

GIT代码回退(git reset)

2017-01-09 00:00 197 查看
摘要: 开实际开发过程中经常会碰到几种代码回退的情况,有些是需要本地回退就好,有些是需要远程回退,有些还需要清理commit日志等,在此做个记录~

如果可以重来,该有多好,显然生活中你做错了什么就不能再重来了,然而在git中,你可以肆意的重来,想怎么回退就怎么回退,清理痕迹不让别人发现。

1、git reset命令简介

你的本地仓库由 git 维护的三棵“树”组成。第一个是你的 工作目录,它持有实际文件;第二个是 缓存区(Index),它像个缓存区域,临时保存你的改动;最后是 HEAD,指向你最近一次提交后的结果。



git reset --soft commit_Id

将HEAD指向给定提交。索引工作目录的内容保持不变

git reset --mixed commit_Id

将HEAD指向给定提交。索引内容也跟着改变以符合给定提交的树结构,但是工作目录中的内容保持不变

git reset --hard commit_Id

将HEAD指向给定提交。索引的内容也跟和改变以符合给定提交树结构,此外,工作目录的内容也随之改变以反映给定提交树的状态。

**git reset选项影响:
**

选 项HEAD索 引工 作 目 录
--soft
--mixed
--hard

2、本地代码回退,远程代码也需要回退

//讲本地的代码回退到某个历史commit
git reset --hard   ba81bb598b95baa76811d6080a1b92d99c8404ec

//远程提交回退----
git push origin HEAD --force
git push -f//这个也可以

ref:

Git的撤消操作 - 重置, 签出 和 撤消
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息