git学习——<三>git操作
一、创建仓库
创建一个目录
mkdir repository
cd到该目录下,初始化该版本库
git init
至此,版本库创建成功,可以在该文件夹下看到.git文件夹,ls -ah可以看到该文件夹。
二、版本管理
1.将文件或文件夹添加到版本库中进行版本控制
在工作区创建一个文件
touch readme.txt
将该文件添加到暂存区
git add readme.txt
将文件从暂存区提交到版本库
git commit -m "some comment"
*工作区、暂存区、版本库
工作区,就是你本机版本库所在文件夹,你似乎认为这就该是版本库,但实际上版本库中具体有什么是保存在.git文件夹下的,也就是说版本库所在文件夹下的内容,必须是在.git中注册了,才是版本库中的内容。否则只是工作区或暂存区的内容。
我们来看下版本库中有什么
重要的目录包含结构如下
工作区:你当前进行版本控制到目录。
|——版本库:“工作区”中有一个.git文件夹,就是git版本库。
|——暂存区:在“版本库”中有一个stage或者叫index的文件夹
|——HEAD指向master的指针
|——refs
|——heads
|——master
如上所示,.git文件夹可以就认为是版本库;index文件夹是“暂存区”;HEAD文件是当前用户指向分支的指针;refs/heads/master存放主版本分支内容
对HEAD的理解:每个用户有一个HEAD,指向当前分支的commit节点。
2.查看工作区和暂存区、版本库所做的改动
git status
3.查看具体有什么变化
git diff
4.查看版本库所有历史提交信息
git log
这样能够看到每次提交的具体信息及id
简化输出
git reflog
加参数--pretty=oneline
git log --pretty=oneline
5.回退、前进到某个版本
git reset --hard 版本号
前进:HEAD,向前走一个版本
HEAD^,向前走两个版本
HEAD~n,向前走n个版本
三、撤销操作
0.添加新文件到暂存区,如果想将其撤销下来
四、删除版本库中文件
git rm filename
git commit filename
git reset --hard commitid
git checkout -- filename
git学习——<三>git操作的更多相关文章
- git学习(三) git的分支操作
git的分支操作 软件项目中启动一套单独的开发线的方法,可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响,封装一个开发阶段,解决bug的时候新建分支,用于对该bug的研究: git中跟分支 ...
- git学习——<五>git分支
git学习——<一>git安装 git学习——<二>git配置文件 git学习——<三>git操作 git学习——<四>git版本管理 一.提出问题 今 ...
- Git 笔记三 Git的初步使用
Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...
- git 学习(1) ----- git 本地仓库操作
最近在项目中使用git了,在实战中才知道,以前学习的git 知识只是皮毛,需要重新系统的学一下,读了一本叫 Learn Git in a Month of Lunches 的书籍,这本书通俗易懂,使 ...
- Git 学习之git 分支(三)
Git 分支 几乎每一种版本控制系统都以某种形式支持分支.使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作.在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的 ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
- git学习 本地常用操作01
注意: Microsoft的Word格式是二进制格式,因此,版本控制系统是没法跟踪Word文件的改动 不要使用Windows自带的记事本编辑任何文本文件 开始git项目: 初始化本地项目: 初始化:g ...
- git学习(五) git diff操作
git diff操作 git diff用于比较差异: git diff 不加任何参数 用于比较当前工作区跟暂存区的差异 git diff --cached 或者--staged 对比暂存区(git a ...
- Git学习记录--git仓库
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...
随机推荐
- mem_fun与mem_fun_ref的区别
一句话:container<ClassType*>就用mem_fun,container<ClassType>就用mem_fun_ref 参考: http://www.cplu ...
- 使用JSTL的sql:query标签制作分页查询遇到NoSuchFieldError: deferredExpression
参考:http://hi.baidu.com/desyle/item/4fe650265792d7182a0f1c33 症状: 如题所述,代码如下 <sql:query var="re ...
- hdu1003 最大子串和
Max Sum Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Sub ...
- char函数绕过魔术引号注入
我目前学习到的绕过魔术引号的几种方法(如果知道还有别的请万望告之): 1.倘若服务端是GBK可以尝试宽字节注入 2.使用char函数绕过魔术引号进行注入 3.同char函数类似的函数,例如bin(转换 ...
- [ADC]Linux ADC驱动
ADC TI adc user guide: http://processors.wiki.ti.com/index.php/Linux_Core_ADC_Users_Guide 问题: 在tools ...
- 终极方法,pjsip发起多方对讲出错Too many objects of the specified type (PJ_ETOOMANY)
http://blog.csdn.net/zhangjm_123/article/details/26727221 —————————————————————————————————————————— ...
- 006Maven_在Myeclipse创建java项目
第一步:
- mybatis 的动态sql语句是基于OGNL表达式的。
mybatis 的动态sql语句是基于OGNL表达式的.可以方便的在 sql 语句中实现某些逻辑. 总体说来mybatis 动态SQL 语句主要有以下几类:1. if 语句 (简单的条件判断)2. c ...
- HTML的footer置于页面最底部的方法
方法一:footer高度固定+绝对定位 <html> <head> <style type="text/css"> html{height:%; ...
- mysql更改utf8编码方式
方法1: 一.查看数据库编码格式 1 mysql> show variables like 'character_set_database'; 二.查看数据表的编码格式 1 mysql> ...