git 一些undo操作

使用git的时候经常会出现,“啊!,刚才提交的代码有问题,需要undo一下了” 这种情况,为了应对这种问题。本文介绍 git 的一些 undo 操作

在使用 git 时,可以分为4个工作区域:

  • working area: 本机工作区
  • staging area:当执行 git add时候,文件就会到 staging area
  • local repo: 当执行 git commit 时候,文件就会 从 staging arealocal repo
  • remote repo: 当执行 git push 的时候,local repo 文件就会同步到 remote repo

UNDO:

  • working area:当在 working area写了个bug,undo的话就 backspace 就好了
  • staging area: 在 git add 的时候,突然发现多 add 了个文件,这时候 git checkout <file> 就可以了(此操作不会修改working area中的内容)
  • local repo: 如果想撤回上一次或者几次 commit 怎么办。
    • git reset HEAD~1 (默认为 --mixed) 。撤销git commit, git add 操作, 保留 working area的修改。
    • git reset --soft HEAD~1。撤销 git commit 操作,保留 working area的修改,git add 操作。
    • git reset --hard HEAD~1。撤销 git commit, git add ,working area的修改。
    • git reset HEAD~2。撤销两次提交
  • remote repo:当执行 git push 之后发现坏事了,怎么办
    • git revert commit-id。会删除本次同步的所有内容,并重新add ,commit, push

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • QT signal / slot mechanism

    QT 是一个跨平台的 C++ GUI 应用构架,它提供了丰富的窗口部件集,具有面向对象、易于扩展、真正的组件编程等特点,更为引人注目的是目前 Linux 上最...

    ke1th
  • python绘图:matplotlib绘图(2)

    matplotlib绘图(2) plt.bar colors=["#348ABD","#A60628"] plt.bar([0,.7], prior, alph...

    ke1th
  • 简单介绍 protocol buffer

    protocol buffer protocol buffer 是谷歌的一款序列化结构数据的工具. 它有几个核心的概念: .proto文件: 定义proto...

    ke1th
  • Git

    歪先生
  • GIT使用总结

    git认证指使用git能与github或gitlab 进行通信。这里将以github为例来说明。

    努力在北京混出人样
  • 关于 Git 的那些事

    安装应该不用多说了,主要讲一下升级。Linux 和 Mac 都有包管理器,升级是很方便的,关键是 windows 并没有这类东西,那么怎么升级呢?

    Chor
  • Gerrit常见命令及最佳实践

    本文记录了笔者在使用Gerrit(一种免费、开放源代码的代码审查软件)过程中的一些微小的经验,在这里做个简单的分享。

    Tusi
  • Terminal配置

    若想要源代码可以参考我的GitHub:https://github.com/SeptemberBeryl/wire/blob/master/README.md,...

    Centy Zhao
  • 基础服务系列-git仓库删除所有提交历史记录,成为一个干净的新仓库

    需要更换代码Git仓库,想把之前的commits全部删掉。网上找了众多方法,都不起作用。踩了2次坑,幸好查到了。

    用户2146693
  • 将 HEXO 部署到VPS

    hexo 可以部署在github,conding。当有了一个 vps 之后可以把 hexo 部署到 vps ,步骤如下:

    tanmx

扫码关注云+社区

领取腾讯云代金券