Git学习笔记 01
Git简介
介绍:
Git是一款开源的分布式版本控制系统,可以高速、有效的管理从很小到很大的项目。
特点
Git主要有以下几个特点:
- 离线开发:出差怎么办?用诸如svn等集中式版本控制系统,连接不上中央版本库就不能工作。有了git,你的本地机器几乎能做所有事情:提交、查看版本库所有历史记录、合并(merge)或者新建分支……
- 速度快:由于离线开发,许多操作不需要等待服务器响应时间,节省了不小时间。
- 安全性高:可以不需要集中式的版本库,团队里每个成员的本地就是一个完整的版本库,就算中央仓库出问题也不怕。
- 可回退错误:忘记上传一个文件了怎么办?日志写错了怎么办?Git支持修复最后一次提交,重写log。当然,也支持撤销某次提交或者整体版本回退。
- 分支操作方便: git的分支和合并操作及其简单,几个命令就可完成,速度很快。开发人员可以自由自己在工作空间建立分支,待调试完成再推送到远程正式分支,删除掉自己本地分支即可。
相关名词的基本概念
工作区: 克隆到本地的工作区,即你电脑上能看到的目录。
暂存区(stage): 也称index,add后存在暂存区。
本地配置库: git clone 后生成的工作区的 .git 目录。该目录不可以删除。
HEAD: git 中的分支,本质上仅仅是个指向commit对象的可变指针,可以理解为HEAD是一个指向你正在工作中的本地分支的指针,可以将HEAD想象为当前分支的别名。
远程仓库: git服务器上的仓库,即中央仓库。
origin: 默认的远程仓库名称,在clone完成之后,Git会自动为你将此远程仓库命名为origin(origin只相当于一个别名),并下载其中所有的数据,建立一个指向它的master分支的指针(origin/master)。
Commit ID: 提交版本号,在Git数据库中的数据都是用此40位的哈希值作索引的,而不是靠文件名。Git可以使用从前面开始任意长度的字符串作为简化版本号,只要该简化的版本号不产生歧义。一般采用7位的短板本号。全球版本号唯一。
Git相关工具
- Gerrit: 在线代码评审
- Gitweb: 在线浏览仓库内容
- Repo: 管理多个git仓库的工具
- Msysgit: git命令行客户端
- Tortoisegit: git图形界面客户端
- Eclipsegit: eclipse集成git