Git学习笔记(一)
2015-09-27 17:17
357 查看
版本控制简介
版本控制是为了记录一个或一组文件内容变化的过程,以便可以对文件版本进行记录和订阅。版本控制经历了几个阶段的发展过程:
1. 本地版本控制系统
本地版本控制系统一般采用某种简易的数据库来记录。最早的本地版本控制如rcs(没接触过),原理是保存管理文件补丁(一种格式的文件,记录文件修改前后内容变化)。rcs可以根据文件不断计算文件各个版本的内容。
2. 集中化版本控制系统
如cvs,svn,主要是为了支持不同系统上的协同办公。Centralizde Version Control Systems,CVCS。利用单一的集中管理的服务器,保存文件修改的版本和过程。
缺点是集中服务器宕机后,无法正常使用。
3. 分布式版本控制系统
为了解决集中版本控制系统的问题,分布式版本控制系统应运而生。它在每个机器上都保存了一个代码仓库的完成镜像,可以先在本地不断的进行提交操作,最终推送到远端服务器代码仓库中。每一次pull操作,应该都是对代码仓库的完整备份。
Git基础
git原理
git的思想是,只记录文件数据的整体是否发生变化,而其他系统多关心文件内容的具体差异。非git系统中,记录每次文件都有哪些更新,例如代码更新了哪些行,内容产生了哪些变化等等。而git则不保存前后变化的差异数据。git将变化的文件进行快照,存放在一个微型文件系统中。每次更新时,它会浏览所有文件指纹信息,对文件做快照,保存指向这次快照的的索引。如果文件没有变换,保存上一次的快照链接。(理解就是,每次新增提交,会存到文件系统中,如果变换了,会继续新增文件,git针对不同版本每个文件指向不同的索引快照)。
git的操作都可以提交到本地仓库,可以在脱离网络的环境下进行操作。
git对每个文件进行hash计算来保存数据的完整性。
Git文件状态
在Git中,文件有三种状态已提交(committed)
文件已经保存到本地的仓库中了
已修改(modified)
文件已经修改,但是还没有提及保存
已暂存(stagetd)
已修改的文件放在了下次提交时要保存的清单中
在每个git存放的项目中,都有一个Git目录,.git目录,在项目根路径下,是Git用来保存元数据和对象数据库的地方。克隆镜像仓库时拷贝的就是这个目录里面的数据。
工作目录就是存放某个版本的所有文件和目录,用以开展后续工作。
暂存区,是个简单的文件,在Git目录下,标准说法是暂存区域。
Git工作流程
工作目录下修改某些文件修改后的文件进行快照,存放在暂存区域
提交更新,将保存在暂存区域的文件快照永久存储到Git目录下。
Git安装
在windows下,安装git可以通过msysGit进行安装。Git配置
在命令行下,可以通过git –config进行git配置。在windows系统中,git配置文件在主目录下.gitconfig文件。查看配置信息命令
git config –list
每个项目的配置文件在工作目录下的
.git文件夹下的conf文件夹
相关文章推荐
- RPC failed; result=22, HTTP code = 411
- git更新已經刪除的文件
- 提取Git每次提交后Commit的文件
- GIT迁移服务器
- 分布式版本管理git入门指南使用资料汇总及文章推荐
- VSS 软件配置管理 版本控制第1/2页
- Git远程操作详解
- 25个 Git 进阶技巧(翻译)
- 详解版本控制利器Git,SVN的异同以及适用范围
- 使用svn进行版本控制
- Ruby实现的删除已经合并的git分支脚本分享
- 在 Shell 提示符中显示 Git 分支名称的方法
- Git使用基础篇(一些常用命令和原理)
- git fork同步是什么意思?
- Python的高级Git库 Gittle
- 使用GIT进行源码管理――GUI客户端小结
- 使用git代替FTP部署代码到服务器的例子
- linux系统安装git及git常用命令
- 分享下自己总结的Git常用命令
- Git 常用命令速查表(图文+表格)