GIT撤销修改总结

目录

 

GIT基础知识

撤销操作

 


 

GIT基础知识

       主要名词如下:

          stage: 暂存区

          master: 主分支

         版本库: git自动生成的.git文件夹

         工作区:编写和存放代码的区域

         HEAD:指针,每个分支都有一个HEAD,并指向各自的分支节点

        //本地的操作

         add:代码从工作区推送到暂存区。

         commit:代码从暂存区推送到主分支。

         push:代码从本地主分支推送到远程分支。

本次使用的是一个Android项目来说明的,下面是版本库和工作区。

        从廖大神处拿来一张GIT的说明图基本结构。

撤销操作

      1  撤销工作区的修改(未使用git add .指令)

            让指定文件回到最近一次git commit或git add时的状态,若--后不加任何东西,将撤销工作区的所有更改。注意:新建的文件此时对git而言是未知的,直接手动删除即可。

git checkout -- <file>

//或者使用下面的指令来放弃所有的更改

git checkout .

 

      2  撤销暂存区的修改(已add但未commit时):

            分两步: 第一步,把暂存区的修改撤销掉(unstage),重新放回工作区;第二步,撤销工作区的修改。若不指定文件,则将撤销所有的更改。

//1 先从commit状态变成add后的状态(也可通过git reset HEAD . 指令来处理所有文件)
git reset HEAD <file>

//2 再从add后的状态恢复到未进行更改时的状态
git checkout -- <file>

       3  撤销本地仓库的修改(已commit但未push时):

            分两种情况: 情况一,退回到commit之前的那一个版本;情况二,退回到指定(commitid)版本。注意:退回到任意版本时只需要写commitid的前几位即可。所谓的退回其实就是切换,就是git将指针直接切换到commitid处。

//情况一:退回到之前的那一个版本
git reset --hard HEAD^

//情况二:退回到任意版本,版本commitid为 a24s0...
git reset --hard a24s0

            查看commitid可通过如下指令:git log

----------------------------------------分----------------------割-----------------------线-------------------------------------

         平时常用, 特此记录,望勿忘。

猜你喜欢

转载自blog.csdn.net/Dream_201603/article/details/84985409
今日推荐