git 使用(9)git pull和git fetch、git reset 和 git revert 的区别用法

前面有学到git中的大部门知识,基本够用,但是,代码回滚也是平时遇到的最多的。这一节就来仔细的说下git中的比较容易搞混淆的几个命令:

git pullgit fetch, git resetgit revert

git reset 和 git revert

reset根据这个英文单词的意思直译的就是重置,就是还原的意思,在git中也是一样,用来将HEAD指针还原(指向)到某个提交(commit)。他是还原一段的,也就是说,如果这个commit 在log的中间位置,那么这个commit 之后的提交有可能都会消失掉!所以这个命令是蛮危险的。

revert根据这个英文单词的意思直译的就是恢复,撤销。git里面,用来撤销某一次提交(commit) 。他只会撤销这一次提交,无论这个commit在log的哪个位置,不会影响上下的提交。而且他会将撤销的作为一个新的commit提交。

下面,举例子来说吧:

➜  shop git:(master) git log --oneline

git log 前面已经讲过,这个命令用来显示提交的log 记录,加上-- oneline 表示,在一行精简的显示log信息。

我在项目下运行下:

643a5ee 关闭老爷
3deb0e4 add 3
c755be6 new 
889b027 + 聊天窗口右侧公告样式.
896ccee 仓鼠日志
be3b53a Merge remote-tracking branch 'origin/dev' into dev
5921f2d 移动端

上面是一部分log。比如,我刚错误提交了关闭老爷(643a5ee)功能,这一步,我想撤销,怎么办呢?可以用上面的哪个命令呢?其实2个都可以用。

git reset 3deb0e4 或者 git reset HEAD~1把指针移动643a5ee到的上一次提交,就表示还原了。

或者git revert 643a5ee 表示撤销这次提交。也可以。

git reset 还原已经commit的用法

git reset 命令的使用最多的2种形式是:

git reset commitId
git reset –hard commitId

不加任何参数 表示是软重置,它会改变本地HEAD的指针, 指向

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值