Git 本地版本控制
2015-10-16 00:39
260 查看
版本库也也是仓库,表现为一个目录或者是一个文件夹,这个文件夹里面的所有文件都可以被Git管理起来,文件修改删除也都能被Git记录下来,方便版本控制。
git相关概念简介:
工作区:就是存放文件的文件夹。
版本库:可以粗略的理解为
版本库中包含一个
![](http://7xni6u.com1.z0.glb.clouddn.com/initGitRepository.PNG)
![](http://7xni6u.com1.z0.glb.clouddn.com/gitStatus01.PNG)
第一行提示我们现在在
![](http://7xni6u.com1.z0.glb.clouddn.com/gitAddFile.PNG)
系统提示已经将该文件添加到暂存区,可以使用
![](http://7xni6u.com1.z0.glb.clouddn.com/gitFirstCommit.PNG)
我们已经创建并且添加了一个文件到版本仓库,现在修改
![](http://7xni6u.com1.z0.glb.clouddn.com/gitModifyFile.png)
使用
其中
![](http://7xni6u.com1.z0.glb.clouddn.com/gitHeadReset.png)
这样的话,工作区的内容也回退到了指定版本的状态。
git相关概念简介:
工作区:就是存放文件的文件夹。
版本库:可以粗略的理解为
.git文件夹
版本库中包含一个
暂存区和 多个
分支,当我们执行完
git init的时候,系统自动为我们创建了一个
master分支
1.1 创建本地版本库
在适当的位置创建一个文件夹,名字随便但最好要有意义,同时不建议文件夹路径中有中文。打开git shell,切换到创建的文件夹中,输入git init,将当前文件夹初始化为git仓库,会发现当前文件夹下多出了一个
.get文件夹,看起来像下面这个样子:
.git文件夹里面的东西是Git来管理仓库的,一般不建议手动修改
1.2 将文件添加到仓库和文件修改
在当前目录下新建一个文本文档,名字随便,当然要有意义,我新建的是TestGit.txt,新建完之后,我们在
git shell中输入
git status来查看工作区的状态
第一行提示我们现在在
master这个分支上,下面提示我们有一个文件没有被追踪,可以使用
git add fileName方式添加,我们输入
git add Test.txt,然后再用
git status来查看工作区间
系统提示已经将该文件添加到暂存区,可以使用
git rm --cached FileName将文件从暂存区删除(这并不会删除你创建的文件,只是删除git版本库中的暂存),接下来可以使用
git commit -m “注释”将暂存区内容提交到到
master分支,然后我们再查看工作区状态,发现工作区是干净的:
我们已经创建并且添加了一个文件到版本仓库,现在修改
Test.txt文件,随便写点东西,然后保存,回到git shell,使用
git status查看工作区状态,提示文件已经被修改,可以使用
git add fileName将修改后的文件添加到暂存区,或者使用
git checkout -- fileName将文件返回到修改前的状态(这个修改前的状态是指的上一次提交之后版本库的文件状态),或者使用
git diff fileName命令来查看修改了哪些东西:
![](http://7xni6u.com1.z0.glb.clouddn.com/gitModifyFile.png)
使用
git checkout -- Test.txt命令还原文件状态,会发现文件变回上次提交之后的状态了。
1.3 版本回退
如果我们新建了很多文件,并且都提交到了版本库,现在想要回退到某一个版本,可以使用git log(
git reflog会记录每一次使用的命令)来查看每一次提交的
commitid、
Author、
Date,我们可以通过
git reset --hard commitid或者
git reset --hard HEAD来将版本回退到某一个特定的版本。
其中
HEAD表示的是当前版本库中的最新版本,
HEAD^表示的是上一个版本,
HEAD^^或者
HEAD~2表示的是上上个版本,依此类推。(ps:当使用
commitid来回退版本的时候,不需要将id全部写出来,只写出前边一部分即可):
![](http://7xni6u.com1.z0.glb.clouddn.com/gitHeadReset.png)
这样的话,工作区的内容也回退到了指定版本的状态。
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- 许多数据中心的工作者很满意他们的工作,将鼓励他们的孩子继续从事这份工作
- 【DevOps】为什么我们永远疲于奔命?
- 零编程经验的我是如何找到工作的
- 网络管理之IP地址篇
- 文件的读出 编辑 管理
- 修复mysql数据库
- SQL Server 2008 R2 应用及多服务器管理
- nodejs中的fiber(纤程)库详解
- 简单谈谈node.js 版本控制 nvm和 n
- VC下通过系统快照实现进程管理的方法
- 桌面中心(一)创建数据库
- 使用jQuery管理选择结果
- 浅析C语言头文件和库的一些问题
- SQLServer 管理常用SQL语句