一、创建仓库
创建一个目录
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,只是零星大致地了解一点,所以找时间系统 ...
随机推荐
-
tp5 中 model 的聚合查询
方法 说明 Count 统计数量,参数是要统计的字段名(可选) Max 获取最大值,参数是要统计的字段名(必须) Min 获取最小值,参数是要统计的字段名(必须) Avg 获取平均值,参数是要统计的字 ...
-
5. 星际争霸之php设计模式--抽象工厂模式
题记==============================================================================本php设计模式专辑来源于博客(jymo ...
- Info.plist和pch文件的作用
-
web api 返回数据XML JSON
WEBAPI返回的数据格式一般是XML和JSON.能根据请求的要求返回.经过试验如下: public object Get(string uid) { return new {msg="成功 ...
-
2、变量var关键字
我们在看js声明变量的时候,经常会发现有的变量前会带var 但又的则没有,那么这究竟有什么区别呢? 如果这种情况发生在函数里的话, 加var定义的变量是局部变量,不加var定义的就成了全局变量. // ...
-
HTML的用法
今天学习了HTMIL,标签.这个东西吧,没什么很难的,就是得多练多打.今天的一些个人心得: 标签:成对存在的名称 标签注意:1.标签名放在<> 2.标签成对存在的 3.结束标签有斜杠/ 例 ...
-
Sql 关于 查俩个表 第二个表用到第一个表的某一个数据
今天在写程序的时候遇到一个问题 有一个这个需求 select top 1 Name,[Address] from UserInfo;select * from shoppingAddress whe ...
-
MySQL卸载安装8.0.*
一.卸载 1. 本人安装目录在C盘Program Files文件中(删除MySQL文件夹) 2. 找到C盘Program Data隐藏文件夹中的MySQL并删除(删除提示MySQL在运行的话可以去任务 ...
-
xibai的PCI卡在英文系统上安装报错
通过购买时自带的光驱,在里面直接找相对应的型号的驱动,直接安装,即可 不要通过电脑管理,然后更新驱动的这种方式,会报错
-
hosts.allow和hosts.deny支持哪些服务
一.背景简介 在linux上多用iptables来限制ssh和telnet,编缉hosts.allow和hosts.deny感觉比较麻烦比较少用. aix没有iptables且和linux有诸多不同, ...