Git中的文件上传、修改、撤消修改和删除
1.添加文件、提交文件
1.1在learngit目录下创建一个readme.txt文件,并且输入内容。

1.2添加文件到版本库learngit
1.2.1使用git add 文件告诉Git把文件添加到暂存区

1.2.2用命令git commit -m "文件说明"告诉Git把文件提交到仓库

其中,-m后的“引号内容”为提交时的说明。
2.修改文件,查看记录,提交文件
2.1修改readme.txt的内容

2.2修改完毕后,运行git status命令看看结果

此时,提示文件被修改,但是还没有被提交。
2.3使用git diff 文件命令符,此时可以查看两者的修改内容

2.4在知道readme.txt哪些内容被修改后,我们可以选择是否进行提交该文件
继续使用git add和git commit命令符完成提交

两个命令符的示意图如下(来自廖雪峰):

使用git add将工作区文件存放到暂存区

使用git commit将暂存区文件提交到分支

这里learngit为工作区,.git为版本库,stage为暂存区,head为指向master分支的指针。
3.撤销修改
使用git checkout -- file命令符可以进行撤销修改操作,有两种状态的撤销:
3.1 文件自修改后还没有被放到暂存区(未执行git add命令符),现在,撤销修改就回到和版本库一模一样的状态;
例如现在readme.txt文件中添加一行

使用git checkout --readme.txt命令符

发现readme.txt文件已经撤销新增的一行

3.2文件已经添加到暂存区后又作了修改,现在撤销修改就回到添加到暂存区后的状态。

用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区

再使用上述的方法一即可

此时文件回档到我们所需的版本!
4.删除文件
4.1首先创建一个test.txt文件并且执行git add和git commit命令

4.2移除工作区中的文件,使用rm 文件

4.3删除版本库中的文件
使用git rm 文件命令符,再使用git commit -m "说明"提交操作

5.版本回退
5.1继续修改readme.txt的内容

再使用get add和git commit命令符实现提交
5.2使用git log查看版本修改记录

其中,黄色字符代表版本号。
5.3使用git reset命令进行版本回退

其中,HEAD代表最新版本,^代表回退一个版本,上上版本则为HEAD^^
5.4版本返回未来,当需要撤销回退,返回就近的一个返回点,则使用git reset --hard 版本号

5.5 当我们不知道版本号时,使用git reflog命令符查看版本号

Git中的文件上传、修改、撤消修改和删除的更多相关文章
- PHP中,文件上传实例
PHP中,文件上传一般是通过move_uploaded_file()来实现的. bool move_uploaded_file ( string filename, string destinati ...
- MVC中的文件上传-小结
web开发中,文件的上传是非常基本功能之一. 在asp.net中,通常做法是利用webservice 来接收文件请求,这样做的好处就是全站有了一个统一的文件上传接口,并且根据网站的实际情况,可以将we ...
- struts2中的文件上传,文件下载
文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...
- 转:在Struts 2中实现文件上传
(本文转自:http://www.blogjava.net/max/archive/2007/03/21/105124.html) 前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题 ...
- Silverlight 2中实现文件上传和电子邮件发送
Silverlight 2中实现文件上传和电子邮件发送 [收藏此页] [打印] 作者:IT168 TerryLee 2008-05-30 内容导航: 使用Web Service上传文件 [I ...
- IIS 7 中设置文件上传大小的方法
在IIS 6.0中设置文件上传大小的方法,就是配置如下节点: <system.web> <httpRuntime maxRequestLength="1918200&quo ...
- 在WebBrowser中通过模拟键盘鼠标操控网页中的文件上传控件(转)
引言 这两天沉迷了Google SketchUp,刚刚玩够,一时兴起,研究了一下WebBrowser. 我在<WebBrowser控件使用技巧分享>一文中曾谈到过“我现在可以通过WebBr ...
- ASP.NET中的文件上传大小限制的问题
一.文件大小限制的问题 首先我们来说一下如何解决ASP.NET中的文件上传大小限制的问题,我们知道在默认情况下ASP.NET的文件上传大小限制为2M,一般情况下,我们可以采用更改WEB.Config文 ...
- ASP.NET Core 中的文件上传
ASP.NET Core上传文件 ASP.NET Core使用IFormFile来读取上传的文件内容,然后将数据写入到磁盘或其它存储空间. 添加FileUpload模型,用来接收上传的文件内容. pu ...
随机推荐
- Lintcode455-StudentID-Easy
Implement a class Class with the following attributes and methods: A public attribute students which ...
- UVa 11488 超级前缀集合(Trie的应用)
https://vjudge.net/problem/UVA-11488 题意: 给定一个字符串集合S,定义P(s)为所有字符串的公共前缀长度与S中字符串个数的乘积.比如P( {000, 001, 0 ...
- python中那些双下划线开头得函数和变量
Python中下划线---完全解读 Python 用下划线作为变量前缀和后缀指定特殊变量 _xxx 不能用’from module import *’导入 __xxx__ 系统定义名字 __x ...
- vue定义全局方法 调用其他组件的方法
官网的写法 vue实例.$on就可以在根实例上定义全局方法 this.$root就是获取根实例 如果没有根实例 就表示当前实例 this.$root.$on 不需要.eventHub 不需要下面这 ...
- 大数据算法:kNN算法
\一.kNN算法概述 kNN是k-Nearest Neighbour的缩写,这是一种非常简单且易于理解的分类算法.回想我们从小到大在认知事物的过程当中,我们是如何判断一种事物是属于哪种类别的?通常的一 ...
- leecode第五题(最长回文子串)
class Solution { public: string longestPalindrome(string s) { int len = s.length(); || len == ) retu ...
- => js 中箭头函数使用总结
箭头函数感性认识 箭头函数 是在es6 中添加的一种规范 x => x * x 相当于 function(x){return x*x} 箭头函数相当于 匿名函数, 简化了函数的定义. 语言的发展 ...
- 让browserify接收命令行参数,在打包时parse yml配置文件
功能需求: 1用browserify把各种js打包成浏览器端的1个bundle.js,含有yml配置文件 约束: 1 yml配置文件不在当前工程里(现在还不知道放哪里,以后也会变),希望在打包时,用命 ...
- 算法笔记--字典树(trie 树)&& ac自动机 && 可持久化trie
字典树 简介:字典树,又称单词查找树,Trie树,是一种树形结构,是哈希树的变种. 优点:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较. 性质:根节点不包含字符,除根节点外每一个 ...
- Codeforces 932D - Tree
932D - Tree 思路: 树上倍增 anc[i][u]:u的2^i祖先 mx[i][u]:u到它的2^i祖先之间的最大值,不包括u pre[i][u]:以u开始的递增序列的2^i祖先 sum[i ...