- git 简介
- 什么是git?
- git 起源
- git 使用现状
- 其他版本控制工具
- cvs
- svn
- clearCase
- Vss
- 集中式版本控制图解
- 分布式版本控制图解
- git 和 svn的简单对比
- 速度
- 结构
- 其他
SVN使用分支比较笨拙,git可以轻松拥有无限个分支
SVN必须联网,git可以不需要联网
旧版本(1.7版本以前)的SVN会在每一个文件夹里面建立一个.svn文件夹,git只建立一个.git
- SVN的工作流程————git的工作流程(图解)对比
- svn checkout —— git clone
{ svn 只下载代码, git,会连同代码仓库一起下载下来}- svn commit —— git commit
{ svn 是提交到服务器,git 中是提交到本地仓库,需要使用push才能提交到服务器}- svn update - git pull
{ svn update 从服务器下载最新被修改的代码,
* 分布式和集中式最大的区别在于:在分布式下,开发者可以在本地提交,每个开发者机器上都有一个服务器代码仓库的副本*- git工作原理
- 工作区
- 与.git文件夹同级的其他文件夹或者子文件夹
- 版本控制库
暂缓区
分支(Git不像SVN那样有主干和分支的概念. 仅仅存在分支,其中master分支为默认被创建的分支,类似于SVN中的主干)
切换分支:通过控制HEAD指针指向不同的分支,就可以切换- 使用须知
* 所有新添加/删除/修改的文件 必须先添加到暂缓区,然后才能提交到HEAD指向的当前分支中*- git使用环境?
单人开发只需要一个本地库
::原因:不需要与他人共享代码,只负责管理自己代码即可;例如提交代码,删除代码,版本控制等等 ::
多人开发时需要一个共享版本库
- 共享版本库的形式:
::本地共享库:文件夹/U盘/硬盘::
:: 远程共享库:自己搭建git服务器/ 托管到第三方平台(例如github, oschina) ::
* 无论是单人开发还是多人开发,客户端都可以使用命令行或者图形界面使用git*
SourceTree
- 下载地址: http://www.sourcetreeapp.com/download/
GitHub
- 下载地址: https://mac.github.com
:: 不过它是专门为GitHub网站而设计的 ::
Xcode
- 虽然集成较好,但是只能做一些常用的简单操作,复杂操作还要使用命令行