Git的使用规范(二)
今天,我们来介绍一下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的使用规范(二)的更多相关文章
- 使用VSTS的Git进行版本控制(二)——提交保存工作
使用VSTS的Git进行版本控制(二)--提交保存工作 当对文件进行更改时,Git将在本地仓库中记录更改.可以通过选择变更来提交的对应更改.提交总是针对本地的Git仓库,因此不必担心提交是完美的,或者 ...
- git 分支命名规范
为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 主要规范两点: git 分支命名规范 git 提交记录规范 1. git 分支命名规范 git 分支 ...
- 一只代码小白git托管路上的二三事
[经验]一只代码小白git托管路上的二三事 写在前面的话 寒假的时候,娄老师给我们布置了代码托管的作业,并要求把托管地址发给学委.因假期的时候没有带电脑回家,所以只是在手机上草草注册了,也稀里糊涂就将 ...
- Git常用命令和Git团队使用规范指南
转自:https://wsgzao.github.io/post/git/ 前言 在2005年的某一天,Linux之父Linus Torvalds 发布了他的又一个里程碑作品——Git.它的出现改变了 ...
- 团队项目的Git分支管理规范
原文地址: http://blog.jboost.cn/2019/06/17/git-branch.html 许多公司的开发团队都采用Git来做代码版本控制.如何有效地协同开发人员之间,以及开发.测试 ...
- Git 分支开发规范
您必须知道的 Git 分支开发规范 Git 是目前最流行的源代码管理工具. 为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范 git 的相关操作. 分支管理 分支命名 ma ...
- Git Commit Message 规范
今天来说说团队开发中,对于 Git commit message 规范问题. 社区上有各种 Commit message 的规范,本文介绍 Angular 规范,目前使用较广,比较合理和系统化,并且有 ...
- Git学习笔记(二) · 非典型性程序猿
远程库的使用 前面说到的都是git在本地的操作,那么实际协作开发过程中我们肯定是要有一个远程版本库作为项目的核心版本库,也就是投入生产使用的版本.这里我们以 Github为例.Github是一个开放的 ...
- Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)
Git提交代码规范 - 木之子梦之蝶 - 博客园 https://www.cnblogs.com/liumengdie/p/7885210.html Commit message 的格式 Git 每次 ...
随机推荐
- 如何为属性是disabled的表单绑定js事件
$(document).click(function(e){ var el = e.target; if (el.tagName == 'INPUT') { $(el).removeAttr('dis ...
- CDS view注解解析 - @Environment.systemField
下面的CDS view使用到了@Environment.systemField这个注解,定义了两个参数#SYSTEM_LANGUAGE和#USER. 这个view从CRM物料主数据的产品抬头表COMM ...
- windows网络模型之完成端口(CompletionPort)详解 (转)
转载自:https://blog.csdn.net/piggyxp/article/details/6922277 目录: 1. 完成端口的优点 2. 完成端口程序的运行演示 3. 完成端口的相关概念 ...
- 【转】一看你就懂,超详细java中的ClassLoader详解
http://blog.csdn.net/briblue/article/details/54973413 ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框 ...
- linux jdk环境变量配置
export JAVA_HOME=/home/faunjoe/java/jdk1.8.0_45export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$J ...
- jeesite介绍及链接
https://github.com/thinkgem/jeesite (需FQ) JeeSite 是一个企业信息化开发基础平台,Java企业应用开源框架,Java EE(J2EE)快速开发框架, ...
- <jsp:include>和<%@include file=""%>的区别(简单了解)
简单了解 include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中,JSP引擎在判断JSP页面未被修改,否则视为已被修改.由于被包含的文件是在编译时才插入的 ...
- qbxt Day1 测试犯傻祭祀
今天是2018/7/15 然后又是我最不喜乱的测试,期末考试爆炸仍在眼前. T1 van♂游戏 题意 小喵喵喜欢玩RPG游戏.在这款游戏中,玩家有两个属性,攻击和防御,现在小喵喵的攻击和防御都是1,接 ...
- Python—面向对象06 内置方法
一 .isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object ...
- ipython notebook开通远程
之前只是会用,别人告诉我命令和大概怎么设置的,今天自己搭建才发现一知半解搞不定啊. 目的:远程通过ipython notebook调用服务器. 服务器是ubuntu16.04 本地机器win7 配置方 ...