git和github入门指南(2.2)
2.4.常用git命令
2.4.1.回顾前面使用的命令
1.git add 文件名 这个命令用来将代码提交到暂存区
2.git status 可以查看当前提交的状态
3.git commit -m '注释' 将代码从暂存区提交到版本库
2.4.2.查看日志
git log
2.4.3.对比操作
经过第一次提交,版本库中的index.html是空文件,接下来我们开始写代码,在工作区index.html文件中写一点内容
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta ="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1>螺钉课堂</h1>
</body>
</html>
代码写好后,我们将代码提交到暂存区
git add index.html
接下来,我们继续修改工作区中index.html的代码,增加一行代码
<body>
<h1>螺钉课堂</h1>
<h1>hello nodeing!!!</h1>
</body>
经过上面步骤以后,工作区,暂存区,版本库中的index.html内容如图:

1.这个时候如果你想要对比查看工作区和暂存区的文件差异,可以使用下面的命令:
git diff
结果如下:

其中,绿色字体部分表示工作区新增加的修改
2.如果你想要对比暂存区和版本库的差异,可以使用下面命令
// 使用git diff --staged 也能达到一样的效果
git diff --cached
结果如下:

由于版本库中index.html是个空文件,此时,绿色部分全是增加的内容,意味着暂存区里面新增了多行代码
3.如果你想要对比工作区和版本库之间的差异,可以使用下面的命令
git diff master
执行效果如下:
最后,我们把对比功能演示的代码提交到版本库
git commit -m '第二次提交,对比功能演示完成'
2.4.4.撤销操作
接前面的操作,我们先把工作区中的修改提交到暂存区
git add index.html
1.如果提交后,你觉得代码写错了,想要从暂存区撤销回工作区,可以执行下面命令:
// git reset HEAD <file>
git reset HEAD index.html
2.如果想让工作区还原回上一次提交到版本库的状态,可以执行下面的命令:
// git checkout -- <file>...
git checkout index.html
3.如果提交到版本库后发现当前的提交是有问题的,可以撤销回来,执行下面的命令:
git commit -m '注释' --amend
注意:这条命令会把上一次提交撤销然后合并本次提交
2.4.5.删除操作
1.工作区的文件可以随意删除
2.如果工作区的这个文件已经被提交到了暂存区,除了删除工作区文件外,还可以通过下面命令把暂存区文件也删除了
// git rm 文件名
git rm test.html
注意:如果工作区中没有删除test.html这个文件,而直接执行上面的命令,是不能删除暂存区文件的
3.如果想同时删除暂存区和工作区文件,可以执行下面命令
git rm -f test.html
4.如果只想删除暂存区文件,而保留工作区文件,可以执行下面命令
git rm --cached test.html
2.4.6.恢复操作
1.如果工作区中的index.html被删除掉了,这个时候想从版本库回复这个index.html文件,可以执行下面命令:
// 语法: git checkout 版本号 文件名
git checkout bf52d177b1cfd091db index.html
注意:上面命令中用到的版本号,可以通过git log打印出来获取到,如下图

2.如果想恢复多个文件,可以使用恢复整个版本的方式来实现,执行命令;
// 语法:git reset --hard 版本号
git reset --hard bf52d177b1cfd091db
螺钉课堂视频课程地址:http://edu.nodeing.com
git和github入门指南(2.2)的更多相关文章
- git和github入门指南(6)
6.交作业的流程 以下内容是螺钉课堂在线就业班提交作业的要求,非螺钉课堂在线就业班学员不用学习 螺钉课堂作业全程采用git管理,希望在日常使用中,加深对git和github的理解 具体流程: 1.注册 ...
- git和github入门指南(1)
1.git和github简介 1.1.git是什么?github是什么?git和github的关系? Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. Git ...
- git和github入门指南(5)
5.github上的标签 5.1.标签的作用 给当前版本打一个标签,在github上就会形成一个releases版本 点击进去后,用户就可以下载对应版本的源代码 5.2.在本地git工具上创建标签,同 ...
- git和github入门指南(4)
4.分支管理 4.1.什么是分支? 分支可以简单的理解为分叉,在主干上长出一条枝干出来,主干分支通常叫做master,在主分支上可以开很多分支出来,不同的人在不同的分支上做开发,最后合并到主分支,这样 ...
- git和github入门指南(3.3)
3.4.开源项目的协作方式 开源项目通常是没有写入的权限的,我们需要换一种协作方式参与到这些开源项目中 为了演示方便,我们把git-demo这个项目中nd-00002这个合作者的权限取消 接下来nd- ...
- git和github入门指南(3.2)
3.3.解决多人协作开发过程中的代码冲突问题 1.在多人协作开发的项目中,每次开发之前每个人最好先同步更新一下github上最新的代码,可以减少冲突的概率 git pull 2.产生冲突 目前咱们演示 ...
- git和github入门指南(3.1)
3.远程管理 3.1.远程仓库相关命令 1.查看远程仓库名字,这里以github为例 git remote 上面命令执行后会得到:origin,这样一个名字,这个名字是我们克隆的时候默认设置好的 如果 ...
- git和github入门指南(2.1)
2.git常用命令 2.1.git的三个区 1.工作区 工作区就是你项目所在目录,这个目录是可以非常直观的看到的,编写代码主要在这个目录进行,例如: 2.暂存区 暂存区从字面上去理解就是用来暂时保存项 ...
- Git和Github入门
推文:官方手册,十分详细 推文:git和github快速入门 一.git使用 1.git安装 (1)windows 网站:https://git-scm.com/download/win下载安装即可 ...
随机推荐
- Rocket - regmapper - RegMapper
https://mp.weixin.qq.com/s/aXxgzWwh6unuztjgyVX0iQ 简单介绍RegMapper的实现. 1. 简单介绍 RegMapper使用指定的输入接口,为一组寄存 ...
- Java实现 LeetCode 838 推多米诺(暴力模拟)
838. 推多米诺 一行中有 N 张多米诺骨牌,我们将每张多米诺骨牌垂直竖立. 在开始时,我们同时把一些多米诺骨牌向左或向右推. 每过一秒,倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌. 同样地, ...
- Java实现 LeetCode 999 车的可用捕获量(简单搜索)
999. 车的可用捕获量 在一个 8 x 8 的棋盘上,有一个白色车(rook).也可能有空方块,白色的象(bishop)和黑色的卒(pawn).它们分别以字符 "R"," ...
- Java实现 蓝桥杯VIP 算法训练 排列问题
算法训练 排列问题 时间限制:1.0s 内存限制:512.0MB 问题描述 求一个0-N-1的排列(即每个数只能出现一次),给出限制条件(一张N*N的表,第i行第j列的1或0,表示为j-1这个数不能出 ...
- Java实现 LeetCode 27 移除元素
27. 移除元素 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额 ...
- java实现第四届蓝桥杯连号区间数
连号区间数 题目描述 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个到第R ...
- java实现第五届蓝桥杯扑克序列
扑克序列 AA223344,一共4对扑克牌.请你把它们排成一行. 要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌. 4A3A2432, 2342A3A4 请填写出 ...
- ReentrantReadWriteLock源码分析及理解
本文结构 读写锁简介:介绍读写锁.读写锁的特性以及类定义信息 公平策略及Sync同步器:介绍读写锁提供的公平策略以及同步器源码分析 读锁:介绍读锁的一些常用操作和读锁的加锁.解锁的源码分析 写锁:介绍 ...
- nginx功能介绍和基本安装
一.简介 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理,另外ngi ...
- 聊一聊高并发高可用那些事 - Kafka篇
目录 为什么需要消息队列 1.异步 :一个下单流程,你需要扣积分,扣优惠卷,发短信等,有些耗时又不需要立即处理的事,可以丢到队列里异步处理. 2.削峰 :按平常的流量,服务器刚好可以正常负载.偶尔推出 ...