一、Git介绍
Git是分布式版本控制系统
1.1、集中式VS分布式:
- 集中式版本控制系统,版本库集中存放在中央服务器,必须要联网才能工作,没有历史版本库。
- 分布式版本控制系统,版本控制系统没有“中央服务器”,每个人电脑上都是一个完整的版本库。
- 分布式系统优势:安全性更高,不需要联网,如果中央服务器故障,任何其他一个开发人员的本地都有最新的带有历史记录的版本库。
总结:主要区别在于历史版本库的存放,集中式系统历史版本只存在于中央服务器,而分布式控制系统中每个本地库都有历史记录存放。
1.2、Git 与 SVN 区别
Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
Git 与 SVN 区别点:
-
Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统(例如 SVN,CVS 等),最核心的区别。
-
Git 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。
-
Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。
-
Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
二、安装Git
Git 各平台安装包下载地址为:git-scm.com/downloads(根据系统选择下载)
2.1、 Windows 平台上安装
Windows 平台安装包下载地址:gitforwindows.org/
完成安装之后,就可以使用命令行的 git 工具(已经自带了 ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。
在开始菜单里找到"Git"->"Git Bash",会弹出 Git 命令窗口,你可以在该窗口进行 Git 操作。
2.2、Mac 平台上安装
Mac 平台安装包下载地址:sourceforge.net/projects/gi…
安装界面如下所示:
更多安装方式可参考菜鸟教程的git安装
三、Git 配置
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。
这些变量可以存放在以下三个不同的地方:
1、 /etc/gitconfig 文件:对所有用户都适用的配置。 若使用 git config 时用 --system 选项,读写的就是这个文件。
2、 ~/.gitconfig 文件:用户目录下的配置文件,只适用于该用户。 若使用 git config 时用 --global 选项,读写的就是这个文件。
3、 .git/config 文件(也就是当前项目的Git目录中的配置文件):这里的配置仅仅针对当前项目有效。
每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
实例
设置提交代码时的用户信息:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
如果用了 --global 选项,你所有的项目都会默认使用这里配置的用户信息。 如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 --global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
查看配置信息
$ git config --list
查阅某个环境变量的设定,如查看用户名信息
$ git config user.name
编辑 git 配置文件:
$ git config -e # 针对当前仓库
或者:
$ git config -e --global # 针对系统上所有仓库
四、创建版本库
4.1、初始化一个本地Git仓库
使用git init命令。
在目标目录中执行命令(如目标目录为learngit)
$ mkdir learngit
$ cd learngit
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
添加文件到Git仓库,分两步:
使用命令git add ,注意,可反复多次使用,添加多个文件; 使用命令git commit -m ,完成。