一、源代码管理工具概述
1、源代码工具作用
- 代码回滚:返回到先前的某个状态
- 代码合并:多人开发,将各自开发的模块进行合并
- 版本备份:项目开发到一定阶段后进行备份
- 权限控制:限制不同用户访问或操作不同的文件
- 问题定位:出现问题后定位是谁造成的哪里造成的
- 可以记录项目的所有内容的变化,无限制返回
- 查看特定版本的修订情况
2、各种源代码管理工具
- cvs, 最早的源代码管理工具,1990年诞生,鼻祖
- svn ,即 Subverision,比cvs快,功能更多,国内使用率 70%~90%
- git
- 开源分布式版本控制工具,分布式控制工具中速度最快、最简单、最流行的
- Linux之父,为了辅助开发Linux内核开发出来的
- 国内正在慢慢普及使用giti
- git与svn比, git多数情况下比svn快;svn是集中式,git是分布式;git支持本地版本控制
- ClearCase:安装体积比windows大,付费的,世界500强的公司会使用,优点是很稳定
- VSS:微软的集中式版本控制工具,集成在Visual Studio中
集中式和分布式的区别:
集中式:所有的代码都集中在一块, 统一进行管理
分布式:在每个客户端都有一份完整的代码仓库, 可以在每个客户端自行管理
3、git工作流程
git clone
连同代码仓库一起下载下来git commit
提交到本地仓库git push
提交到服务器git pull
从服务器下载最新的代码
经验:每天下班前,提交一份没有问题的代码到服务器;早上上班第一件事,从服务器拉最新的代码到本地;
二、git使用
1、git工作原理
(1)概念
- 工作区:与 .git 文件夹同级的其他文件夹或子文件夹
- 版本控制库:暂缓区、分支(Git不像SVN那样有主干和分支的概念. 仅仅存在分支,其中master分支为默认被创建的分支,类似于SVN中的主干)
- 切换分支:通过控制 head 指针指向不同的分支,就可以切换
(2)操作原则
- 所有新添加/删除/修改的文件 必须先添加到暂缓区,然后才能提交到HEAD指向的当前分支中
3、个人开发
(1)搭建本地仓库
- 学习git指令:
git help [子命令]
git init
初始化一个本地仓库:管理本地代码,修改上传,版本回退- 配置仓库:
git config user.name "gudon"
告诉git 你是谁,用于追踪修改记录git config user.email "shunzi@qq.com"
告诉别人联系方式- 查看配置信息:
git config -l
, 文件路径为 .git/config