Git从零开始(二)
前面提交了一个test1.txt文件,接下来看看这个文件接下来的命运。
一、继续修改并提交
在test1.txt中修改后,
git status 查看git的状态,
会提示我们文件test1.txt被修改了,但还没有提交。但到底修改了什么呢?接着往下看,
git diff test1.txt 查看刚刚修改的内容,
会提示add a file,并且还知道添加了 i want some drink。既然文件被修改了,就需要重新添加并提交。
执行 git add test1.txt,然后再 git status 看看git现在的状态
提示修改了的test1.txt将要被提交,执行 git commit -m "i want some drink",再看git状态
提示没有要提交的文件,bingo。
就这样修改文件后,git add test1.txt 添加文件,然后git commit -m "note" 提交文件。
二、版本回退及恢复
1、版本回退
先用 git log 命令查看从近到远的所有版本,后面可加参数 --pretty=oneline
显示现在有两个版本,前面的一长串是版本号,第一条有个标记 HEAD -> master 是指当前版本。
现在想回退到上个版本,
第一种: git reset --hard HEAD^ ,以此类推返回上上个版本就是 HEAD^^
第二种: git reset --hard 31e6184 ,最后的版本号只要前几位就行了
执行命令后提示当前版本是 31e6184,打开文件发现已经变成上个版本的内容。
2、版本恢复
当我们再想回到最新版本时,就必须知道最新版本的版本号,Git提供了一个命令 git reflog
,看一看到每次的操作记录,最前面会有版本号
现在再执行 git reset --hard c64de46 ,就回到当前版本啦。
打开文件再看时,已经是最后修改后的内容了。
三、撤销修改
1、把文件改乱了想撤销, git checkout -- test1.txt
2、文件改乱了并已经执行了add,执行 git reset HEAD test1.txt 就回到上面那种状态,然后再执行 git checkout -- test1.txt
3、文件改乱了且已经commit,就只能回退到上个版本了。注意:如果推送到远程服务器就没救了!
四、删除文件
rm test1.txt ,执行完这个命令后,其实版本库的文件还存在,
如果确定删除,则执行 git rm test1.txt ,然后执行 git commit -m "delete test1"
如果发现删错了,则执行 git checkout -- test1.txt,相当于用版本库中的文件替换了工作区的文件
五、git对文件的基本操作就完了,但是到底怎么用到团队中呢?下面还有。
Git从零开始(二)的更多相关文章
- Git 笔记二-Git安装与初始配置
git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...
- 版本控制git之二 分支 切换分支 创建分支 合并 删除
版本控制git之二 分支 有人把 Git 的分支模型称为它的`‘必杀技特性’',也正因为这一特性,使得 Git 从众多版本控制系统中脱颖而出. 为何 Git 的分支模型如此出众呢? Git 处 ...
- Git从零开始怎么学?
最近,公司项目代码版本库管理,全部从svn 迁移到Git 最近了解了一段时间 近期会把整个Git使用过程陆续分享 如何从零开始使用Git
- Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(二)
一.前提: 完成前一篇的内容. 具体参考:Cocos2d-x3.x塔防游戏(保卫萝卜)从零开始(一)篇 二.本篇目标: l 说说关于cocos2dx手机分辨率适配 l 对前一篇完成的塔防游戏原型进 ...
- Git(二)Git几个区的关系与Git和GitHub的关联
前言 前面只是大概的介绍了一点基础的东西,接下来会更加深入的去了解一下Git. 一.Git的工作区.暂存区和版本库之间的区别和联系 1)工作区 在PC中能看得到的创建的一个管理仓库的目录.比如目录下G ...
- 【Git学习二】深入了解git checkout命令
检出命令(git checkout)是Git最常用的命令之一,同时也是一个很危险的命令,因为这条命令会重写工作区.检出命令的用法如下: 用法一:git checkout[-q][<commit& ...
- Git从零开始(三)
一.远程仓库管理 1.将本地内容推送到远程库 先关联远程库,执行命令: git remote add origin https://github.com/Hollydan/gitstore.git ( ...
- Git从零开始(一)
一.首先windows安装git客户端 官网下载地址:https://git-for-windows.github.io/,这里下载会很慢,我试了好几次都失败了. 百度网盘资源: https://pa ...
- Git(二)使用git管理文件版本(TortoiseGit )
一.创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都 ...
随机推荐
- Node.js实战(六)之Npm
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...
- 【转】C#中对IDisposable接口的理解
IDisposable接口定义:定义一种释放分配的资源的方法. .NET 平台在内存管理方面提供了GC(Garbage Collection),负责自动释放托管资源和内存回收的工作,但它无法对非托管资 ...
- 【转】H.264 SVC
视频厂商POLYCOM,VIDYO和RADVISION等都推出H.264 SVC技术.针对H.264 SVC技术做个介绍. CISCO和POLYCOM都提供了免版税的H.264 SVC的版本. 其中o ...
- ceph存储osd启动异常处理和正常启停操作
机器角色:cloudstack虚拟机的宿主机:ceph存储机器. 事件:ceph存储的物理机器由于内存异常,需要停机更换,仅仅是把该物理机上面的虚拟机迁移走,同时启动了停机维护,然后就直接关机.结果造 ...
- 【转】深入理解C++的动态绑定和静态绑定 & 不要重定义虚函数中的默认参数
为了支持c++的多态性,才用了动态绑定和静态绑定.理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误.需要理解四个名词:1.对象的静态类型:对象在声明时采用的类型.是在编译期确定的.2 ...
- sql语句截取字符串
Postgresql 当中有四种方式获取当前时间. 一:now() 通过now()获取的时间是最完整的时间,包括时区,秒也保留到了6位小数. select now(); ...
- [Noi2017]整数 BZOJ4942
分析: 30+暴力应该还是蛮水的,可以随便写写... 60+的就没那么容易了,但是应该挺裸的,往上架一颗线段树,查询连续1或0的长度,或者找到前缀中,第一个1或0,之后区间覆盖,单点查询,开bool, ...
- 20155339 Exp8 Web基础
Exp8 Web基础 基础问题回答 (1)什么是表单 表单在网页中主要负责数据采集功能. 一个表单有三个基本组成部分: 表单标签,这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方 ...
- CSS 中 calc() 函数用法
CSS calc() 函数 calc() 函数用于动态计算长度值. 注意,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px): 任何长度值都可以使用calc()函数进 ...
- R绘图 第五篇:绘制散点图(ggplot2)
ggplot2包中绘制点图的函数有两个:geom_point和 geom_dotplot,当使用geom_dotplot绘图时,point的形状是dot,不能改变点的形状,因此,geom_dotplo ...