git学习笔记(二)—— 创建版本库&&版本管理
一、创建版本库
创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
mkdir gitHub_CXW
cd gitHub_CXW

git init
Initialized empty Git repository in /Users/michael/learngit/.git/
瞬间Git就把仓库建好了,而且告诉你是一个空的仓库(empty Git repository),文件夹内部出现了一个.git文件,可以使用 ls -ah 进行查看
二、文件添加到版本库
git add <file> 第一步,将文件存入暂存区
git commit -m "注释" 第二部,将文件存入仓库
三、工作区状态查询
git status 获取工作区状态
git diff 如果git status告诉文件有修改过,则可以使用git diff查看修改内容
四、版本穿梭
1、HEAD指向的版本为当前版本
2、git log
git log 显示从最近到最远的提交日志
git log --pretty=oneline 同上,信息缩略为一行
3、commit id 版本号
4、使用HEAD回退版本
git reset --hard HEAD^
git reset --hard HEAD^^
git reset --hard HEAD-
5、通过commit id 回到未来的版本
git reset --hard <commit id>(不需要写全)
6、要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
git reflog 查看命令历史
五、工作区和暂存区
1、在电脑能看到的目录即为工作区
2、版本库:
(1)工作区中有一个.git文件,这个就是版本库
(2)Git的版本库最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。

3、文件往版本库中存的时候:
第一步 git add 将文件存入stack
第二部 git commit 将stack的所有内容存入当前分支
六、管理修改:
1、为什么Git比其他版本控制系统设计得优秀,因为Git跟踪并管理的是修改,而非文件。
2、eg: 第一次修改 -> git add -> 第二次修改 -> git commit
明显可以看出来,第二次修改是无效的,因为没有加入到暂存器,所以git管理的时候是管理修改,而不是那个文件。
3、查看版本库和工作区文件的区别
git diff HEAD --<filename>
七、撤销修改
1、撤销工作区的修改
git checkout -- <filename>
把<filename>在工作区的修改全部撤销:
(1)自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态
(2)已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态
总之,就是让文件回到git add 或者git commit的上一个状态
2、撤销暂存区的修改
git reset HEAD <filename>
现在暂存区是干净的,工作区有修改,所以可以再通过1操作回退,或者直接进行修改工作区
3、已经提交了不合适的修改到版本库时,想要撤销本次提交,只能进行版本回退,不过前提是没有推送到远程库。
八、删除文件
在文件管理器中,使用
rm <filename>
如果要确定要删除,则
git rm
git commit
另一种情况是删除错误,则使用git恢复
git checkout -- <filename>
git学习笔记(二)—— 创建版本库&&版本管理的更多相关文章
- Git学习笔记一--创建版本库、添加文件、提交文件等
Git,是Linus花了两周时间用C写的一个分布式版本控制系统.牛该怎么定义? 其实,很多人都不care谁写了Git,只在乎它是免费而且好用的!So do I! 下面开始我们的学习: 1.Git安装( ...
- Git 学习(二)版本库创建
Git 版本库创建 什么是版本库(repository)? 可理解为文件仓库.由Git管理每个文件的新增.修改及删除,但这个仓库可以追溯历史.可还原至任意历史节点. 版本库创建 创建一个版本库非常简单 ...
- Git学习笔记02-创建版本库
版本库就是一个目录,这个目录里面的所有文件都会被Git管理,每个文件的修改,删除都能追踪.以便在某个时刻追踪历史记录,或者还原 路径切换,查看文件命令和linux差不多,cd 文件路径 ls查看路径 ...
- Git版本控制工具(一)----git的安装及创建版本库
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...
- Git使用(二)版本库创建及文件修改
一.创建版本库 1.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功! 安装完成后,还需要最后一步设置,在命令行输入: $ gi ...
- git入门 创建版本库, 版本管理 分支 标签
参考: https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GIT最流行的分布式版本 ...
- git使用(二)----创建版本库
创建版本库(操作都是在linux环境下) 什么是版本库呢?版本库又名仓库,英文名repository,其实就是一个目录,可以进行增删查改 创建一个目录,这里在根目录下创建一个git_home目录mkd ...
- Git学习笔记 (二)
Git学习笔记(二) 突然发现,学习新知识新技能,都得经常温故使用,这样才能日益精进.最近学习的Git是因为加入了课题组,在学习做一些后台,由于后台开发会牵扯到多人开发,所以学会Git这一代码管理工具 ...
- Ubuntu下Git的使用之创建版本库
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
随机推荐
- windows无法访问vmware搭建好虚拟机linux web服务器
[前置条件] vmware搭建好虚拟机web服务器 ,但是本机就是无法访问的解决办法. linux虚拟机的网络选择Bridged 桥接到本机网卡. 具体情况如下 : 1.本机能ping通虚拟机 2.虚 ...
- 转: MinGw离线安装方法集合
转自: http://www.cnblogs.com/smartdog/archive/2012/03/30/2425124.html https://www.zhihu.com/question/2 ...
- sqrt函数的实现
原文:http://blog.csdn.net/legend050709/article/details/39394381 sqrt算法实现: (一)int sqrt1(int n);求取整数x的平方 ...
- vscode关闭后未打开上次界面的解决办法
1.更新vscode至最新版,当前时间2017-06-20,vs最新版1.13.1 2.关闭vscode的正确方式,不是点击左上角的叉叉,而是CMD+Q或者在Dock右键退出 3.这样,你在下次打开v ...
- ASP.NET绑定学习
1.直接绑定到页面成员<asp:Repeater ... DataSource='<%#页面方法或属性%>'></asp:Repeater> 2.绑定到数组< ...
- 让你的ASP.NET虚拟主机也支持子网站
现在asp.net虚拟主机一般都可以绑定多个域名,但是通过这几个域名打开的页面都一样.如何使绑的这几个域名分别打开不通的页面(即实现子网站的功能)呢? 其实很简单,只需4个步骤: 1)给虚拟主机 ...
- ANT task之Junit、JunitReport
一.ANT任务之Junit: 学习ANT其实主要是学习ANT的task,ANT众多task中有一个Testing Tasks,它下面有两个任务:Junit和JunitReport,主要用来进行单元测试 ...
- 微软BI 之SSRS 系列 - 不显示 Pie Chart 饼图上 0% 的数据
SSRS 小技巧系列专门用来记录 SSRS 报表开发过程中常用的小技巧 - 效果图 - 0% 的标签数据不需要显示出来. 效果图 - 正常的效果. 解决方法 - 使用 IIF 条件判断,如果计算值为 ...
- VDP
Today VMware announced a new version on their backup product vSphere Data Protection. They gave it t ...
- LevelDB初体验测试
最近工作需要找一个能使用磁盘存储数据,对写要求比较苛刻,需要每秒达100000TPS,读的时候需要能10000TPS左右,不能占用太多内存.单节点满足这个要求的常见有Redis.Memcached等, ...