Git介绍
诞生于2005年,日臻成熟完善,现在最好的版本控制系统了,并由此生成一个世界最大的代码分享社区GitHub。在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。
Git的特性与优点
- 分布式,Git最大的特性。Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git中的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络或者断开VPN你就无法做任何事情。但用Git的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程的镜像仓库。换作其他版本控制系统,这么做几乎不可能,抑或是非常麻烦。‘’
- Git每一次pull操作都是对代码仓库的完整备份;
- 速度,相比有多个分支的版本库,Git的速度远优于SVN,SVN对每个分支都会重复一样的checkout动作。
- 分支:在SVN,分支是一个完整的目录,且这个目录拥有完整的实际文件。如果某个团队成员想要新建一个分支进行一些特性工作,如预研一些新功能,修改些东西以进行性能\安全测试,那将会影响“全世界”!
而Git,每个成员可以任意在自己的本地版本库新建无限个分支。举例:当我想尝试破坏自己的程序(安检测试),并且想保留这些被修改的文件供日后使用,我可以开一个分支,做我喜欢的事。完全不需担心妨碍其他工作成员。只要我不合并及提交到主要版本库,没有一个工作成员会被影响。等到我不需要这个分支时,我只要把它从我的本地版本库删除即可。无痛无痒。
Git的分支名是可以使用不同名字的。例如:我的本地分支名为testing,而在主要版本库的名字其实是master。
最值得一提,我可以在Git的任意一个提交点(commit
point)开启分支! (其中一个方法是使用gitk –all 可观察整个提交记录,然后在任意点开启分支。)
希望以后大家能勇敢的新建分支,因为放心吧,它不会影响任何人,不会有任何坏处。
- 提交(Commit)
在SVN的提交,会直接记录到远程版本库。当你发现你的提交存在严重问题时,你已经无法阻止了。另外如果网路中断,你根本没办法提交,也就没有办法享受版本管理了!而Git的提交完全属于本地版本库的活动。而你只需“推”(git
push)到主要版本库即可。 Git的“推”其实是在执行“同步”(Sync)
- 文档结构:SVN会在每一个目录置放一个.svn。而Git会在目录起点拥有一个.git目录,以及.gitignore。
几个关键名词
- 工作区
- 暂存区
- 本地版本库
- 远程版本库
- 分支
- stash,把本地修改的所有东西藏起来。
安装
Mac下安装Git比较简单,下载DMG安装包,按提示安装就行,下载链接:
https://code.google.com/p/git-osx-installer/downloads/detail?name=git-1.8.3.1-intel-universal-snow-leopard.dmg
Centos下的安装:
yum install git git-svn git-email git-gui
gitk -y
Windows下的安装msysGit
http://msysgit.github.io/
Git的介绍与安装
原文:http://www.cnblogs.com/mancoj/p/3516038.html