一:Git是什么?

  Git是目前世界上最先进的分布式版本控制系统。

简单的说就是托管代码的便于多人开发的管理系统。

二.Git的一些命令,我详细的说一下

我是基于github给大家说一下git的一些常用命令

git的安装我就不详细介绍了,按网上安装步骤来就行了。

git安装完成之后,需要填写用户名和邮箱作为一个标识。如下:

注意:git config  --global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

(1) 创建版本库

什么是版本库?版本库又名仓库,英文名repository,你可以简单的理解一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改,删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻还可以将文件”还原”。

我创建一个‘testGit’版本库,如下:

mkdir:        XX (创建一个空目录 XX指目录名)

     pwd:          显示当前目录的路径。

     git init       把当前的目录变成可以管理的git仓库,生成隐藏.git文件。

好了,上面步骤完成之后。

接下来就是把文本添加到版本库里,我添加了一个look.txt文件,内容为1111 如下:

如果和上面一样,没有任何提示,说明已经添加成功了。这是把文件添加到了暂存区

然后用命令 git commit告诉Git,把文件提交到仓库。

现在我们已经提交了一个look.txt文件了,我们下面可以通过命令git status来查看是否还有文件未提交,如下:

说明没有任何文件未提交,但是我现在继续来改下look.txt内容,比如我在下面添加一行22222内容,继续使用git status来查看下结果,如下:

上面的命令告诉我们 look.txt文件已被修改,但是未被提交的修改。

接下来我想看下look.txt文件到底改了什么内容,如何查看呢?可以使用如下命令:

git diff look.txt 如下:

如上可以看到,look.txt文件内容从一行11111改成 二行 添加了一行22222内容。

接下来将修改的内容提交到仓库通过git add 和 git commit提交

(2)版本回退:

  如上,我们已经学会了修改文件,现在我继续对look.txt文件进行修改,再增加一行

  内容为3333333.继续执行命令如下:

我们对look.txt进行了三次修改,可以通过git log查看提交日志,如下:

git log命令显示从最近到最远的显示日志,我们可以看到最近三次提交,最近的一次是,增加内容为333333.上一次是添加内容222222,

第一次默认是 111111.如果嫌上面显示的信       息太多的话,我们可以使用命令 git log –pretty=oneline 演示如下:

现在我想使用版本回退操作,我想把当前的版本回退到上一个版本,要使用什么命令呢?可以使用如下2种命令,

第一种是:git reset  --hard HEAD^ 那么如果要回退到上上个版       本只需把HEAD^ 改成 HEAD^^ 以此类推。

那如果要回退到前100个版本的话,使用上面的方法肯定不方便,我们可以使用下面的简便命令操作:git reset  --hard HEAD~100 即可。如下:

再来查看下 look.txt内容如下:通过命令cat look.txt查看

可以看到,内容已经回退到上一个版本了。我们可以继续使用git log 来查看下历史记录信息,如下:

已经没有了3333内容。

但是现在我想回退到最新的版本,如:有333333的内容要如何恢复呢?我们可以通过版本号回退,使用命令方法如下:

以上步骤就可以恢复会退的内容。

(3):Git撤销修改和删除文件操作。

撤销修改:

  比如我现在在look.txt文件里面增加一行 内容为444444,我们先通过命令查看如下:

命令 git checkout --look.txt 意思就是,把look.txt文件在工作区做的修改全部撤销,这里有2种情况,如下:

  1. look.txt自动修改后,还没有放到暂存区,使用 撤销修改就回到和版本库一模一样的状态。
  2. 另外一种是look.txt已经放入暂存区了,接着又作了修改,撤销修改就回到添加暂存区后的状态。

删除文件。

  假如我现在版本库testGit目录添加一个文件b.txt,然后提交。如下:

只要没有commit之前,如果我想在版本库中恢复此文件如何操作呢?

  可以使用如下命令 git checkout  -- b.txt,如下所示:

今天先写到这里.........过几天再更新git后面的内容

Git的一些常用命令的更多相关文章

  1. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  2. Git Bash Here常用命令以及使用步骤

    1.首先,要clone项目代码: git clone 链接地址 2.更新代码: git pull 3.添加修改过的文件.文件夹: git add 修改过的文件,文件夹 4.提交并注释: git com ...

  3. Git 、 Cocoapods常用命令

    Git常用命令 1.添加文件   git  add  xxx 2.提交更新到本地  git commit   -m  'local-repo' 3.提交更新    git  push master  ...

  4. Git学习 --> 个人常用命令add,commit以及push

    Git命令行配置1 安装Github2 安装msysgit3 要配置用户名和油箱  git config --global user.name <用户名> 我的命令就是:git confi ...

  5. Git之 基本常用命令

    Git基本常用命令如下: mkdir:         XX (创建一个空目录 XX指目录名) pwd:          显示当前目录的路径. git init          把当前的目录变成可 ...

  6. Git 入门和常用命令详解

    git 使用使用教程   git 使用简易指南  常用 Git 命令清单 下载   https://git-scm.com/downloads 工作流 本地仓库由三部分组成. 工作区:保存实际的文件( ...

  7. git提交项目常用命令及git分支的用法

    1.第一步首先从git托管平台clone项目,我这里就使用idea为例: 填写git的url与存放本地目录名及项目名     2.如果你对项目进行了一些修改,就可以执行git命令,进行提交. 有两种方 ...

  8. 学习Git过程中常用命令的总结

    复制远程库git clone git@github.com:Hconly/learngit.git在GitHub上,可以任意Fork开源仓库:自己拥有Fork后的仓库的读写权限:可以推送pull re ...

  9. Git版本管理工具常用命令说明

    Git常用命令 $ touch README.md 创建一个README.md文件 $ git init  创建本地仓库(repository),将会在文件夹下创建一个 .git 文件夹,.git 文 ...

随机推荐

  1. Python【unittest】模块

    [unittest]模块是python3.5中的一个内置模块 1.python文件导入[unittest]模块 import unittest 2.定义一个测试用例类,继承[unittest.Test ...

  2. Python 堆与堆排序

    堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法.学习堆排序前,先讲解下什么是数据结构中的二叉堆. 二叉堆的定义 二叉堆是完全二叉树或者是近似完全二叉树. 二叉堆满足 ...

  3. P3959 宝藏

    P3959 宝藏 题目描述 参与考古挖掘的小明得到了一份藏宝图,藏宝图上标出了 nn 个深埋在地下的宝藏屋, 也给出了这 nn 个宝藏屋之间可供开发的 mm 条道路和它们的长度. 小明决心亲自前往挖掘 ...

  4. Java基础-SSM之Spring的POJO(Plain Old Java Object)实现AOP

    Java基础-SSM之Spring的POJO(Plain Old Java Object)实现AOP 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 上次我分享过Spring传统的A ...

  5. mysql 不同引擎的比较

    mysql 支持的默认引擎是InnoDB,其他的常用引擎包括MyISAM等,那么他们有什么差别呢. 首先执行 show engines; 来查看数据库当前支持的引擎. 可以看到mysql支持这么多不同 ...

  6. telegraf、influxDB、Grafana的安装与基本使用

    目的理解influxDB的数据收集原理和方法为使用grafana分析数据及展示结作好准备介绍[收集数据] Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 Inf ...

  7. mysql出现ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' 错误

    init 神奇..其他的都没有成功,这个居然成功了!! 还试验过:sudo mysqld restart啥的,都没有用......

  8. JMS学习(四)-一个简单的聊天应用程序分析

    一,介绍 本文介绍一个简单的聊天应用程序:生产者将消息发送到Topic上,然后由ActiveMQ将该消息Push给订阅了该Topic的消费者.示例程序来自于<JAVA 消息服务--第二版 Mar ...

  9. python解析minicap

    上篇知道了minicap发送图片的格式,照着官网的app.js代码,改用一个python版的来解析它,适当扩展,可以做个小工具实时显示手机屏幕. 步骤: 一.手机开启minicap服务 adb she ...

  10. 编写灵活、稳定、高质量的 HTML 代码的规范

    不管有多少人共同参与同一项目,一定要确保每一行代码都像是同一个人编写的. 语法 用两个空格来代替制表符(tab) -- 这是唯一能保证在所有环境下获得一致展现的方法. 嵌套元素应当缩进一次(即两个空格 ...