今天,我们来介绍一下git的一些命令行,来帮我们后面可以面对一些情况的时候,我们可以有一些解决的方法

  1.git查看历史记录最全的命令行

    git log --pretty=raw

  

  2.对于一下的几个情况,我们一般采用的操作流程:

    1)如果修改某一个文件(没有git add),想要撤销这次修改

      git checkout b.txt

  

    如果不写文件名,我就是把所有的已经修改文件全部撤销

  

    2)如果修改某一个文件(git add已存在暂存区),想要撤销这次修改

       git reset a.txt

  

    3)如果已修改某几个文件,但是想撤销到某个版本,但是当前暂存区,

     工作区不想撤销

      git reset --soft commitId(这个用的不多)

    4)如果修改了某几个文件也提交到了暂存区,想撤销到某个commitId

      git reset --hard commitId

  3.如果你对一个文件进行修改,你把它add到了暂存区里面之后,然后你又对

   这个文件进行了修改,此时,你的修改有在工作区里面的修改以及暂存区里面

   的修改,但是,如果你此时想要对回滚到上一次的commit的时候,而且保证

   此时的工作区以及暂存区的修改没有变化的话,我们可以这样操作:

      git reset --soft head^

  4.(这一点不是很常见,不需要多理会这个)

      git stash,将修改存储其阿里,也没有提交

      git stash pop 打开修改,状态体现出来

  5.关于git的版本回退机制

    使用情况:当你对一个版本进行了修改,并且add.以及git commit了之后,如果你想回退这个版本的记录

      1.git log(查看历史提交记录,特此说明一下commit的message真的很重要)

      

      2.在git log里面查找到我们想回退的记录,我们可以使用git reset --hard commitId即可

      

      3.回滚成功,突然发现自己还想回去到刚才的版本,可是我们查看git log已经看不到原来的记录了

      4.git reflog查看记录,最好加上自己的版本,如果我们是在dev的开发版本上进行修改的

          git reflog show dev,然后就可以看到自己的版本,从上到下是从自己最近到一起的记录
       

       5.进行回滚,找到自己的回滚的记录,然后可以使用git reset --hard dev@{1},此时就可以像回滚到版本即可

        注意:此时的这个回滚记录我们可以根据自己前面提交的message来判断,我前面提交的message是"2017-5-14"

        所以我只需要输入 git reset --hard dev@{1}即可

        

        同理,日志也是回退到那个版本

        

  6.git checkout的方法(一些回滚的方法)

      git checkout . 把所有没有在暂存区里面的数据进行回滚

      git checkout fileName 把文件名fileName的里面没有静茹到暂存区里面的数据进行回滚

      git checkout 目录

Git的使用规范(二)的更多相关文章

  1. 使用VSTS的Git进行版本控制(二)——提交保存工作

    使用VSTS的Git进行版本控制(二)--提交保存工作 当对文件进行更改时,Git将在本地仓库中记录更改.可以通过选择变更来提交的对应更改.提交总是针对本地的Git仓库,因此不必担心提交是完美的,或者 ...

  2. git 分支命名规范

    为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 主要规范两点: git 分支命名规范 git 提交记录规范 1. git 分支命名规范 git 分支 ...

  3. 一只代码小白git托管路上的二三事

    [经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...

  4. Git常用命令和Git团队使用规范指南

    转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...

  5. 团队项目的Git分支管理规范

    原文地址: http://blog.jboost.cn/2019/06/17/git-branch.html 许多公司的开发团队都采用Git来做代码版本控制.如何有效地协同开发人员之间,以及开发.测试 ...

  6. Git 分支开发规范

    您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...

  7. Git Commit Message 规范

    今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...

  8. Git学习笔记(二) · 非典型性程序猿

    远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...

  9. Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)

    Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...

随机推荐

  1. 数组:获取数组中最后一个数据end()函数

    今天来学习一下end()函数 1.案例:直接获取数组中最后一个数据 代码部分 结果: 2.案例:从url中获取最后一个数据 代码部分: 结果: 总结: 1.有时候我们需要去获取数据库中,id最大的那个 ...

  2. Orchard Core 文档翻译 (六)HTML

    Body (OrchardCore.Html) Theming Shapes 将HtmlBodyPart附加到内容类型时,将呈现以下形状(Shapes) Name Display Type Defau ...

  3. bash: ./adb: No such file or directory

    运行adb出现这种错误: bash: ./adb: No such file or directory   但adb确实存在. 可能1.你用的是64位的Linux,没装32位运行时库,安装 $ sud ...

  4. note02-计算机网络

    2.物理层 通信系统模型(源->发送器->XXX->接收器->终),源发出数字信号,调制器编码为模拟信号,进行传输,解调器解码模拟信号为数字信号给终 信噪比,香农公式,C=B  ...

  5. BZOJ1856:[SCOI2010]字符串(卡特兰数,组合数学)

    Description lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数.现在lxhgw ...

  6. gluon 实现线性回归

    from mxnet import autograd, nd num_inputs = 2 num_examples = 1000 true_w = [2,-3.4] true_b = 4.2 fea ...

  7. POJ 最小球覆盖 模拟退火

    最小球覆盖:用半径最小的球去覆盖所有点. 纯粹的退火算法,是搞不定的,精度不够,不然就会TLE,根本跑不出答案来. 任取一点为球心,然后一点点靠近最远点.其实这才是最主要的. 因为:4个点确定一个球, ...

  8. ACM-ICPC (10/20)

    B. Bakery time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...

  9. 【luogu P2590 [ZJOI2008]树的统计】 题解

    题目链接:https://www.luogu.org/problemnew/show/P2590 我想学树剖QAQ #include <cstdio> #include <cstri ...

  10. webapi2返回 已拒绝为此请求授权。

    开始用的webapi2中是没有问题的,后来再项目中加了个过滤器并继承了AuthorizeAttribute 然后在全球文件中注册你的过滤器,让每次执行的时候都会进来 我项目中只重写了OnAuthori ...