在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令。日志查看命令等

既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm 【文件名称】

在输入命令之后,例如以下图所看到的:

提示已经删除了“c.txt”文件。这个时候再用git status查看一下状态,例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

接下来的操作就和正常的加入操作一样了。commit到分支,最后push到远程库(能够点击Git命令学习之旅——基础操作查看)

假设我们已经将文件改动了之后加入到了暂存区。可是突然不想要了,不想提交和推送了,我们应该怎么办?

可能有的读者已经发现了,刚刚的删除c.txt时,系统已经给出了提示

输入命令:git reset HEAD 【文件名称】             就可以将本来已经保存到暂存区中的文件删除

可是git命令更为强大的一点在于。不只能够将你在add之后保存在暂存区的文件删除。还能够将你在工作区内改动的内容删除。恢复到最開始的样子

例如以下图,我们已经对a.txt文件进行了改动,然后查看一下如今的状态:

相同的依据系统给出的提示,此时有两种选择,第一个就是add到暂存区,第二个就是丢弃对工作区的修改

输入命令:git checkout 【文件名称】                   就可以删除已经对文件进行的操作

在有这个功能的保障下,不论什么人对你的文件内容进行了改动。你都能够直接丢弃,不用再操心自己的文件被改动了

但是假设是自己对文件进行了改动,却记不起来究竟对文件的什么地方进行了改动,我们应该怎么办呢?

这里我们须要引入另外的一个命令:git diff 【文件名称】       注:假设不加文件名称。默认输出全部的不同点

通过diff命令我们就能够查看自己改动了文件的哪些地方了,例如以下图:

能够看到我们新加入了一行”hello git!!

这个命令就是将你最新改动后的文件和你原来的文件进行比較。找出不同的地方(文件也能够是已经存放在暂存区的文件。甚至是提交到分支的文件)

说到提交到分支的文件(也就是commit 之后的文件),我们假设查看它的状态。系统仅仅会返回下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

我们应该怎样查看自己commit是不是我们想push的呢?

输入命令:git commit --amend

我们就会进入到文本编辑器中查看这次的commit信息(我的是vim)例如以下图:

通过编辑器确定没有问题之后,就能够push了

在日常生活工作中,除了加入、删除这些操作以外,我们最为经常使用的还有重命名

输入命令:git mv 【原文件名称】 【新文件名称】              事实上和linux系统内的重命名方式一样

运行之后。能够通过ls命令查看文件名称有没有改变,当然最简单的还是使用git status查看,例如以下图:

能够发现我们将”a.txt“重命名为了”ab.txt“

如今,本地上不论什么的改变我们都能够产看而且攻克了,接下来就是对push操作的查看了

输入命令:git log              能够查看近期push的日志。例如以下图:

我们能够查看到刚刚我们对a.txt重命名的提交报告。能够清楚的看到时间和作者(刚刚重命名的操作必需要push之后才干够看得到)

假设我们认为这个样子并不具体。我们像看一下具体干了什么怎么办呢?

输入命令:git log --stat   

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

这样就能够看到a.txt 文件被删除,而ab.txt文件被加入了

这里的截图仅仅是截下来了我们刚刚push的最后一个操作的log,事实上默认会显示好几个

我们也能够通过參数设定来自主控制log的显示个数

输入命令:git log -p -【想要显示log的个数】

这里是输入:git log -p -2 后的截图。能够发现显示的很全面,甚至包含文件中面内容的改变都能够显示出来

可是有的时候我们并没有那么多时间来细致查看那么多的日志,我们仅仅须要查看一下提交的信息就好了,我们应该怎么做呢?

输入命令:git log --pretty=oneline

能够看到。这样就能够高速的查看到近期的提交日志

对于日志的查看,这里仅仅能简单说这么多了,剩下还有非常多操作来使得我们方便查阅日志,能够输入git log --help进行查看

那么我们查看了日志有什么用呢?

这个用处当然多了。除了大家都知道那些之外,git还有了版本号穿梭的能力

如刚刚看到的,输入:git log --prett=oneline 之后我们能够看到很多的日志

后面是提交的提示信息。那么前面是什么呢?

前面就是我们的版本了,接下来就是将这些版本利用起来的时候了

输入命令:git reset --hard 【版本】           这里不须要全然输入,输入前6位一般就能够了

然后你就能够得到这样一则回复,显示你已经回到了刚刚你输入版本号号的那个版本号了,你本地的全部内容都恢复到了那个版本号

相同的,你的日志记录也回到了刚刚那个版本号里面,那么我们假设想要回来须要怎么做呢?

输入命令:git reflog

这样我们就能够看到全部的版本号号了,那么我们想要回到哪个版本号直接输入相相应的版本号号就能够了,是不是非常有趣呢?

我们能够通过这个部分总结的命令。使得我们日常的生活更加有条理。不会对自己究竟做了什么都不知道

Git命令学习之旅——日志和穿梭版本号的更多相关文章

  1. Git命令学习总结(-)

    入职的第一天,让git命令直接给难住了,汗!使用习惯可视化的工具对于命令行早就忘记的一干二净.还好,回家自己练习一下,总会没有错的.git就不做简介了,版本管理除了svn就是git了,其他的都无所谓了 ...

  2. 【Todo】git的fast forward & git命令学习 & no-ff

    git的fast-forward在之前的文章有介绍过,但是介绍的不细: http://www.cnblogs.com/charlesblc/p/5953066.html fast-forward方式就 ...

  3. git命令学习总结

    学习git 主要是因为github官网共享的资源很有学习价值.最近转型JAVA,所有特意去学习了下git软件.git软件可以去官网下载最新版本. 进入 git 仓库目录 右击 选中 Git Bash ...

  4. git命令学习汇总

    GIT 版本控制常用命令汇总 git version 查看当前git版本信息 git help 获取全部命令帮助信息 git help <command> 获取指定命令帮助信息 git c ...

  5. git 命令学习

    last-update: 2016年10月27日 1. git stash 简短描述 当你正在进行项目中某一部分的工作,但是里面的东西处于一个比较杂乱的状态,但是却想要切换到其他分支.问题是,你不想提 ...

  6. Git命令学习摘要

    1.git init  --初始化git项目 2.git status --查看项目的状态 3.git add filename --添加文件到项目 4.git diff filename --查看工 ...

  7. git命令学习

    git init:把当前目录变成Git可以管理的仓库git add file:把文件添加到仓库git commit -m "描述语句":把文件提交到仓库git status:该命令 ...

  8. Git命令学习笔记

    一.本地代码增,删,改,查,提交,找回git checkout .                //抛弃工作区所有修改git checkout -- <file>    //抛弃工作区& ...

  9. git命令学习之clone指定分支代码

    今天要拉取一个项目,但是是一个指定分支,本来我以为直接git clone就行,但是发现好像不能,报错: Cloning into 'lecture'...fatal: unable to update ...

随机推荐

  1. Linux内核驱动之延时---内核超时处理【转】

    转自:http://blog.chinaunix.net/uid-24219701-id-3288103.html 内核超时处理 jiffies 计数器 定时器中断由系统定时硬件以规律地间隔产生; 这 ...

  2. 非常好!!!Linux源代码阅读——内核引导【转】

    Linux源代码阅读——内核引导 转自:http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html 目录 Linux 引导过程综述 BI ...

  3. Linux查看进程堆栈信息命令

    jps -lvm #查看进程IDjstack -l <进程ID> # 查看进程堆栈信息

  4. mysql 取消命令行继续编辑

    mysql> create database mingongge defa\c#回车 置空mysql>  加一个\c  cancel 编辑命令 回车

  5. Starting MySQL... ERROR! The server quit without updating PID file 问题解决

    今天遇到一个mysql起不来,不知为啥挂了,启动是下面的报错 Starting MySQL... ERROR! The server quit without updating PID file 后来 ...

  6. 最小生成树【p2121】 拆地毯

    题目描述--->p2121 拆地毯 分析 这题为什么是最大生成树. 先来bb两句 题目为拆地毯,让我们剩下k个地毯. 题目想要我们求得最大的美丽度. 且要求我们 保留的地毯构成的图中,任意可互相 ...

  7. js timestamp 转换 date 和 将秒数整理为时分秒格式

    // 获得的后台json 时间格式转化 例如:1520305366000  转化为XXXX-XX-XX类似这种 function timeStamp2String(time){ var datetim ...

  8. Windows下SVN权限配置过程详解

    本节讲解一下Windows下SVN权限配置说明,针对的是一个目录下多库的情况,下面是具体的介绍,希望通过本文的学习,你能够对SVN权限配置问题有更加深刻的认识. 1.本文档适用于对Subvesion的 ...

  9. 无需重新编译php加入ftp扩展的解决方法

    无需重新编译php加入ftp扩展的解决方法   本文为大家介绍无需重新编译php加入ftp扩展的方法,有需要的朋友可以参考下   首先,进入源码目录cd php-5.2.13/ext/ftp #运行p ...

  10. Linux下分区、格式化、自动挂载

    说明:现在硬盘基本没有了IDE,所以基本是从SCSI开始说起,第一块硬盘标示为sda,第二块为sdb,以此类推.那么第一块硬盘的第一个分区为sda1,也是以此类推. 一.硬盘分区 sudo fdisk ...