一、版本提交:

    (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. [转]iOS开发总结之代码规范

    转自:http://www.cocoachina.com/ios/20151014/13678.html 命名规范 总 的来说, iOS命名两大原则是:可读性高和防止命名冲突(通过加前缀来保证). O ...

  2. HDU3874 线段树 + 离线处理

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3874 , 线段树(或树状数组) + 离线处理 下午做了第一道离线处理的题目(HDU4417),多少有点 ...

  3. linux 命令——44 top (转)

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是 一个动态显示过程,即可以通过用户按键来不断刷 ...

  4. codeforces 599D Spongebob and Squares

    很容易得到n × m的方块数是 然后就是个求和的问题了,枚举两者中小的那个n ≤ m. 然后就是转化成a*m + c = x了.a,m≥0,x ≥ c.最坏是n^3 ≤ x,至于中间会不会爆,测下1e ...

  5. Shell重启Tomcat脚本

    #!/bin/bash echo -e "\n\n\n" #force kill flag,if equal [f] to force kill all flag="He ...

  6. js 常用工具类

    /** * 存储sessionStorage */const setStore = (name, content) => { window.sessionStorage.setItem(name ...

  7. 支持无限加载的js图片画廊插件

    natural-gallery-js是一款支持无限加载的js图片画廊插件.该js图片画廊支持图片的懒加载,可以对图片进行搜索,分类,还可以以轮播图的方式来展示和切换图片. 使用方法 在页面中引入下面的 ...

  8. 随机获得MySQL数据库中100条数据方法 驾照题库项目 MVC架构 biz业务层的实现类 根据考试类型rand或order通过dao数据访问层接口得到数据库中100或全部数据

    package com.swift.jztk.biz; import java.util.Collections; import java.util.Comparator; import java.u ...

  9. JS - Array.slice 与 Array.splice

    1)Array.slice方法   1.1)接收两个参数:              a:起始下标              b:结束下标   1.2)返回由a(包括)至b(不包括)的元素所组成的数组 ...

  10. CentOS 7 环境下挂载新磁盘

    最近某个项目需要给数据库服务器添加磁盘,由于太久没搞过,就给虚拟机加了10G的空间,用来练习一下磁盘的挂载 一. 首先执行"fdisk -l"命令,查看磁盘信息 [root@loc ...