Git学习笔记 第二章
文件相关操作
修改readme.txt文件,执行 git status 命令查看当前仓库状态
git status
位于分支 master
尚未暂存以备提交的变更:
(使用 "git add ..." 更新要提交的内容)
(使用 "git checkout -- ..." 丢弃工作区的改动)
修改: redme.txt
未跟踪的文件:
(使用 "git add ..." 以包含要提交的内容)
redme.txt~
修改尚未加入提交(使用 "git add" 和/或 "git commit -a")
使用git diff查看修改了什么内容,即difference
jack@Aspire:~/git$ git diff
diff --git a/redme.txt b/redme.txt
index 394552f..4e50204 100644
--- a/redme.txt
+++ b/redme.txt
@@ -1 +1,2 @@
-This is my first Git test.
+This is my first Git file. //内容由test改为了file
然后执行
git add readme.txt
git comment -m "add something"
版本回退
*git log 命令查看历史记录
commit 2bf289cac7af933232575719f0a05548de2d92eb
Author: battleblock jackdirectcn@outlook.com
Date: Wed Sep 16 22:30:35 2015 +0800
git
commit aa458f20559aa148b72f28f61096d7efe54952d1
Author: battleblock jackdirectcn@outlook.com
Date: Mon Sep 14 21:18:58 2015 +0800
test
commit 7b68b6f797a38b7fe2af70307e22a6008dfdf7a5
Author: battleblock jackdirectcn@outlook.com
Date: Mon Sep 14 20:38:35 2015 +0800
*git log --pretty=oneline显示较少信息(commin id版本号)
jack@Aspire:~/git$ git log --pretty=oneline
2bf289cac7af933232575719f0a05548de2d92eb git
aa458f20559aa148b72f28f61096d7efe54952d1 test
7b68b6f797a38b7fe2af70307e22a6008dfdf7a5 write a readme file
回退HEAD 表示当前版本,上一个版本为HEAD^ 上100个版本为HEAD~100
git reset --hard HEAD^回退到上一个版本
jack@Aspire:~/git$ git reset --hard HEAD^
HEAD 现在位于 aa458f2 test
cat readme命令查看内容
返回到现在版本
git reset --hard 版本号
jack@Aspire:~/git$ git reset --hard 2bf289
HEAD 现在位于 2bf289c git
git reflog查看每一次命令
小结
HEARD指向当前版本,Git可以在历史版本间来回穿梭,命令为git reset --hard commit id
穿梭前用git log查看提交历史,确定回退到哪个版本
*重返未来,用git reflog查看命令历史
撤销修改
修改了文件,但还未用git add命令提交,可用git checkout -- readme.txt
readme.txt自修改后还没有被放到暂存区,撤销修改就回到原来的状态;
readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
修改了文件并用git add提交到到暂存区
可用命令git reset HEAD file可以把暂存区的修改撤销掉(unstage),重新放回工作区
git add readme.txt
git reset HEAD readme.txt
重置后撤出暂存区的变更:
M readme.txt
D redme.txt
小结
场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。
场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD file,就回到了场景1,第二步按场景1操作。
场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库
删除文件
添加一个新文件test.txt到Git并且提交
git add test.txt
git commit -m "add test.txt"
在维恩件管理器中删除该文件或用rm 命令删除
此时用git status命令查看当前状态
1.从版本库中删除该文件
git rm test.txt
rm 'test.txt'
$ git commit -m "remove test.txt"
rm test.txt
2.恢复误删文件
git checkout -- test.txt
Git学习笔记 第二章的更多相关文章
- 《DOM Scripting》学习笔记-——第二章 js语法
<Dom Scripting>学习笔记 第二章 Javascript语法 本章内容: 1.语句. 2.变量和数组. 3.运算符. 4.条件语句和循环语句. 5.函数和对象. 语句(stat ...
- The Road to learn React书籍学习笔记(第二章)
The Road to learn React书籍学习笔记(第二章) 组件的内部状态 组件的内部状态也称为局部状态,允许保存.修改和删除在组件内部的属性,使用ES6类组件可以在构造函数中初始化组件的状 ...
- [HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的“HT”
[HeadFrist-HTMLCSS学习笔记]第二章深入了解超文本:认识HTML中的"HT" 敲黑板!!! 创建HTML超链接 <a>链接文本(此处会有下划线,可以单击 ...
- GIT学习笔记——第一章
git之vim编辑器退出命令 # 学习笔记 张文军微博主页 张文军码云主页 张文军新浪云主页 张文军博客主页 ## 刚学习git,好多东西没接触过,进入vim后不知道如何出来了,网上找了很多都 ...
- [HeadFirst-JSPServlet学习笔记][第二章:高层概述]
第二章:高层体系结构 容器 1 什么是容器? servelet没有main()方法.它们受控于另一个Java应用,这个Java应用称为容器(Container) Tomcat就是这样一个容器.Web服 ...
- c#高级编程第七版 学习笔记 第二章 核心c#
第二章 核心C# 本章内容: 声明变量 变量的初始化和作用域 C#的预定义数据类型 在c#程序中使用条件语句.循环和跳转语句执行流 枚举 名称空间 Main()方法 基本的命令行c#编译器选项 使用S ...
- 《Python基础教程(第二版)》学习笔记 -> 第二章 列表和元组
本章将引入一个新的概念:数据结构. 数据结构是通过某种方式阻止在一起的数据元素的集合,这些数据元素可以是数字或者字符,设置可以是其他数据结构. Python中,最基本的数据结构是序列(Sequence ...
- Git学习笔记 --第一章
本系列学习笔记参考廖雪峰Git教程 安装Git Linux平台 Ubuntu/Debian命令:sudo apt-get install git 其他版本 Git官网下载源码,然后解压,依次输入:. ...
- Java 学习笔记 ------第二章 从JDK到IDE
本章学习目标: 了解与设定PATH 了解与指定CLASSPATH 了解与指定SOURCEPATH 使用package与import管理类别 初步认识JDK与IDE的对应关系 一.第一个Java程序 工 ...
随机推荐
- January 27th, 2018 Week 04th Saturday
How long is forever? Sometimes, just one second. 永远有多久?有时候只是一秒. Just one second can make your life t ...
- element-ui使用导航栏跳转路由用法
element-ui使用导航栏跳转路由用法 最近初学vue,试着做一个小项目熟悉语法与思想,其中使用elemen-ui的导航栏做路由跳转切换页面.下面记录一下学习过程 element-ui引入vue项 ...
- one_code=soup.find('a',href=re.compile(r"ill")) NameError: name 're' is not defined
啊啊啊啊我又来了,真的是万事开头难啊,一个问题刚解决,又来了一个问题..依旧跟着视频教学,说“re"这里按Ctrl+e导入正则表达式,可我弄了半天也没有反应..以至于最后的运行结果就是这样. ...
- Node.js webpack Vue-CLI --安装
Node.js 安装 从官网 下载 安装 Node.js 官网 Node.js 官方文档 cmd 命令 node -v 查看版本号 v10.15.0 npm 包管理工具 npm 是JavaScript ...
- 机器C盘临时区
系统的临时区里:C:\Documents and Settings\Administrator(用户名)\Local Settings\Temporary Internet Files 这是临时文件夹 ...
- 20145236《网络对抗》Exp7 网络欺诈技术防范
20145236<网络对抗>Exp7 网络欺诈技术防范 一.基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 随便连接没有设置密码的wifi的情况下比较容易受攻击,因为这样就 ...
- rosdep update 超时
https://blog.csdn.net/azhuty/article/details/41209957 http://www.cnblogs.com/wangyarui/p/6059688.htm ...
- docker安装jdk8
1.下载jdk8 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.or ...
- Android Studio中依赖第三库导致support版本冲突解决方案
1.今天在Android Studio的app/gradle文件中依赖文件选择器的第三方库:“com.leon:lfilepickerlibrary:1.8.0” 时,github地址:https:/ ...
- java 面向对象基本知识
1.继承 使用extends实现继承 只有单继承 子类继承父类,可以得到父类的全部属性和方法 (除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法). instanceof是二元 ...