一、版本提交:

    (1)git add 文件名

    (2)git commit -m "版本提交信息"

    注:git分两个区:工作区+版本库

        在电脑中看到的文件夹就是工作区

        有一个隐藏的.git文件夹,它就是版本库

      add命令操作,就是把工作区中的文件或者文件的修改,添加到暂存区中。举个例子,就像,我们网上买东西,不断地把商品(文件)添加(add)到购物车(暂存库)一样。

      commit命令操作,就是把暂存区中的文件和文件修改全部提交到版本库中更新,并将暂存库清空。举个例子,就是清空购物车结账。

      

二、版本回退:

    1.向之前的版本回退:

        1.1方法1:使用HEAD

           Git必须知道当前的版本是哪个版本。在Git中,使用HEAD表示当前版本,上一个版本是HEAD^,上上个版本是HEAD^^,当前往上100个版本写成HEAD~100

           例:git reset --hard HEAD^^

           注:

            HEAD是一个指向当前版本的指针,HEAD指向哪个版本号,当前版本就定位在哪。

            使用reset回退版本的时候,所做的就是,把HEAD指针进行变更,并且把工作区的内容进行更新。

            

        1.2方法二:使用版本号进行版本回退

            (1)git log  调取提交日志,查看版本号,选定要回退到的版本的版本号commit_id,图中,画红圈的就是commit_id

                

            (2)回退到相应版本号版本:

                git reset --hard commit_id

    2.向之后的版本回退:

      (1)使用git reflog,查看操作命令历史信息,出现如下信息:

          

        红圈就是相应版本的commit_id,这样我们就得到了commit_id,然后再用git reset --hard commit_id回退即可。

        

                

              

三、撤销修改:

    分4种情况:

      1.只有工作区中的内容不想要

        1.1工作区内容错了,不想要工作区内容了,暂存区中内容此时为空:

          git checkout -- 文件名

          此时,文件内容,回退和版本库内容一致。

          注意:文件名和两个横杠--之间要有空格!!!

        1.2工作区内容错了,不想要工作区内容了,暂存区内容此时不为空:

          git checkout -- 文件名

          此时,文件内容回退到和暂存区中内容一致。

      2.工作区写的内容错了,并且已经被add到暂存区中,但是版本库中的内容是好的:

        (1)git reset HEAD 文件名

          将暂存区中的错误内容,搬到工作区,同时清空暂存区内容

        (2)git checkout -- 文件名

          使得工作区中的内容,回退到和版本库中内容一致 

      3.工作区写的内容错了,并且已经被commit到版本库中:

        使用版本回退:

          (1)git log 查看提交历史,确定要回到那个版本的版本号

          (2)git reset --hard commit_id

   

四、删除文件:

    1.手动删除文件或者使用命令行:rm 文件名

    2.1如果是误删除操作,需要还原删除文件:

      git checkout -- 文件名

      结果就是从版本库,回复一个最新版本的文件

    2.2确实需要删除:

      git rm 文件名

      git commit -m "message"

      这样就从版本库中,也删除了该文件。

git基础之常用操作的更多相关文章

  1. Linux - nginx基础及常用操作

    目录 Linux - nginx基础及常用操作 Tengine淘宝nginx安装流程 nginx的主配置文件nginx.conf 基于域名的多虚拟主机实战 nginx的访问日志功能 网站的404页面优 ...

  2. git学习 本地常用操作01

    注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...

  3. Git安装与常用操作

    Git作为一个版本控制工具,使用前需进行下载安装:可自行到官网下载. 一.安装(windows) 1.双击下载好的文件进行安装,弹窗中点击"next" 2.默认勾选,继续点击&qu ...

  4. GItHub Git 基础教程 常用命令 命令

    最近复习了一下Git的使用,简单总结了一些.以供以后查阅和大家参考. 一,安装 首先是Linux下: 打开shell ,输入 sudo apt-get install git-core 之后回车输入密 ...

  5. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  6. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  7. git工作中常用操作总结

    这篇文章主要记录下工作中常用的git操作.主要是对之前文章记录的问题做个总结,这个其实在idea中操作更加简单 别名配置 在敲git 命令时,其实可以使用别名,比如 commit可以配置为ci 下面是 ...

  8. Git与GitHub常用操作

    --------------------------基本操作--------------------------clone 拷贝远程仓库commit 本地提交push 远程提交pull 更新本地--- ...

  9. git入门(4)团队中git保管代码常用操作

    在团队中协作代码时候,一定要熟练使用以下git命令,不至于把代码库弄乱, PS:一定要提交自己代码(git push)时候,先进行更新本地代码库(git pull),不然提交异常 git常用命令 1· ...

随机推荐

  1. sql优化经典例子

    场景 我用的数据库是mysql5.6,下面简单的介绍下场景 课程表 create table Course( c_id int PRIMARY KEY, name varchar(10) ) 数据10 ...

  2. 使用SAP云平台 + JNDI访问Internet Service

    以Internet Service http://maps.googleapis.com/maps/api/distancematrix/xml?origins=Walldorf&destin ...

  3. Android(java)学习笔记153:采用post请求提交数据到服务器(qq登录案例)

    1.POST请求:  数据是以流的方式写给服务器 优点:(1)比较安全 (2)长度不限制 缺点:编写代码比较麻烦   2.我们首先在电脑模拟下POST请求访问服务器的场景: 我们修改之前编写的logi ...

  4. 【BZOJ1059】[ZJOI2007] 矩阵游戏(匈牙利算法)

    点此看题面 大致题意: 有一个\(N*N\)的\(01\)矩阵,可以任意交换若干行和若干列,问是否有方案使得左上角到右下角的连线上全是\(1\). 题意转换 首先,让我们来对题意进行一波转化. 如果我 ...

  5. 第八章 熟练dom的几个常用方法

    显示“缩略词语” <abbr> 标签指示简称或缩写,比如 <abbr title="World Wide Web Consortium">W3C</a ...

  6. IPython安装过程 @win7 64bit

    http://www.360doc.com/content/14/0902/11/16740871_406476389.shtml 为了测验测验一下IPython的应用,今天折腾了好久的从安装包msi ...

  7. python查看安装包

    D:\Python27\Scripts>pip listbackports.ssl-match-hostname (3.4.0.2)basicauth (0.2)certifi (14.5.14 ...

  8. C#继承机制 多级继承

    一些面向对象语言允许一个类从多个基类中继承,而另一些面向对象语言只允许从一个类继承,但可以随意从几个接口或纯抽象类中继承. 只有C++支持多级继承,许多程序员对此褒贬不一.多级继承常会引起继承来的类之 ...

  9. 解决Mycat对自增表不支持(第一种已测试通过)

    表 INSERT INTO news_class (`class_id`,`class_name`) VALUES (next VALUE FOR MYCATSEQ_GLOBAL,'1'); sequ ...

  10. 操作系统(2)_进程管理_李善平ppt

    所有程序都有CPU和io这两部分,即使没有用户输入也有输出. CPU最好特别忙,io空闲无所谓. 程序/数据/状态 三个维度来看进程. 等待的资源可能是io资源或者通信资源(别的进程的答复). 一个进 ...