在总结了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. [LA_3938]最大连续动态和

    Sample Input 3 1 1 2 3 1 1 Sample Output Case 1: 1 1 线段树 L,R表示该区间的左右端点,sum表示该区间值的总和 l,r表示该区间连续的最大和的左 ...

  2. 第一部分:MongoDB备忘录

    一.NoSQL 简介 Nosql的全称是Not Only Sql,这个概念早起就有人提出,在09年的时候比较火.Nosql指的是非关系型数据库,而我们常用的都是关系型数据库.就像我们常用的mysql, ...

  3. PHP源码加密- php-beast

    php-beast 详细介绍 使用案例: http://www.beastcoder.com/ PHP Beast是一个源码加密模块,使用这个模块可以把PHP源码加密并在此模块下运行. 为什么要用PH ...

  4. Visual Studio跨平台开发(2):Xamarin.iOS基本控制项介绍

    前言 在上一篇文章中, 我们介绍了Xamarin 以及简单的HelloWorld范例, 这次我们针对iOS的专案目录架构以及基本控制项进行说明. 包含UIButton,UISlider,UISwitc ...

  5. Spring Cloud之分布式配置中心

    用服务的方式来实现 ConfigAppApplication.java package com.packtpub.ConfigApp; import org.springframework.boot. ...

  6. [BZOJ2038] [2009国家集训队]小Z的袜子(hose) 莫队算法练习

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 10299  Solved: 4685[Sub ...

  7. ASP.NET基础题(1-10)

    1.简述 private. protected. public. internal 修饰符的访问权限. private : 私有成员, 在类的内部才可以访问. protected : 保护成员,该类内 ...

  8. Java JVM:内存溢出(栈溢出,堆溢出,持久代溢出以及 nable to create native thread)

    转载自https://github.com/pzxwhc/MineKnowContainer/issues/25 包括:1. 栈溢出(StackOverflowError)2. 堆溢出(OutOfMe ...

  9. luogu P1373 小a和uim之大逃离

    题目背景 小a和uim来到雨林中探险.突然一阵北风吹来,一片乌云从北部天边急涌过来,还伴着一道道闪电,一阵阵雷声.刹那间,狂风大作,乌云布满了天空,紧接着豆大的雨点从天空中打落下来,只见前方出现了一个 ...

  10. mybatis-mysql小优化

    原文:http://blog.csdn.net/jinzhencs/article/details/51656548 1.查询某条记录是否存在 <!-- 查询s是否被创建过:Uuid,name, ...