当前位置:文档之家› 版本控制培训-GitPPT课件

版本控制培训-GitPPT课件


❖ 目前使用Git作为版本控制的开源软件:Linux kernel,Android, jQuery, Ruby on Rails,
Debian…
❖ Eclipse上使用Git的项目数量也已经超过了使用
SVN的仓库数。
-
7
为什么选用GIT?
❖ 分布式,离线操作 ❖ 每日工作备份 ❖ 异地协同工作 ❖ 现场版本控制 ❖ 避免引入辅助目录 ❖ 可以吃后悔药 ❖ 工作进度随时保存 ❖快
-
3
什么是版本控制?
❖ 版本控制(Revision control)是维护工程蓝图 的标准做法,能追踪工程蓝图从诞生一直到 定案的过程。是一种记录若干文件内容变化, 以便将来查阅特定版本修订情况的系统。
-
4
版本控制工具
❖ CVS-开启版本控制之门 ❖ SVN-集中式版本控制之王者 ❖ GIT-分布式版本控制之伟大作品
-
22
GIT迁移
❖ CVS迁移到GIT
使用cvs2svn 2.1(建议) 使用cvs2git
❖ SVN迁移到GIT
使用git-svn
-
23
Gerrit:代码审核服务器。Git版本库的推送必须要经过Gerrit服务器 ,所有的修订必须要经代码审核和校验后,才能纳入正式代码中。
❖ 如何检出Android源码
$repo init -u git:///platform/manifest.git
$ repo sync
-
14
GIT变量设置
❖ git config命令
--system:操作/etc/gitconfig 文件:包含了适用于系统所 有用户和所有库的值。
--global:操作~/.gitconfig 文件 :具体到你的用户
缺省:操作仓库.git/config文件
❖ 个人信省息初始化(不要随意修改)
$ git config “user1"
$ git config user.email “user1@”
❖ 忽略无需版本控制的文档
echo “*.txt” > .gitignore
-
15
GIT基本命令
❖ 参见git命令文档
-
16
❖ 工作区 ❖ 暂存区 ❖ 版本库
GIT相关概念
-
17
Tortoisegit安装与使用
❖ 参见Tortoisegit安装文档
版本控制
讲师:李廷伟
-
1
问题?
❖ 参与过2人以上的软件项目开发? ❖ 开发过程中程序是否具有版本控制? ❖ 如果不使用版本控制还会出现什么问题?
-
2
没有版本控制?
❖ 备份多个版本,费空间,费时间 ❖ 难于恢复至以前正确版本 ❖ 容易引发BUG ❖ 解决代码冲突困难 ❖ 代码管理混乱 ❖ 难于追溯问题代码的修改人和修改时间 ❖ 项目版本发布困难
-
18
GIT与Eclipse整合
❖ 参见Egit安置
❖ 参见CopSSH安装文档
-
20
GIT经典协同模型
❖ 中心仓库:包含master和develop两个分支 ❖ 分支分类
主要分支:master和develop分支 支持性分支:特性分支,发布分支,热补丁分支
❖ Git实现经典协同模型全过程
-
5
主要内容
❖ GIT简介 ❖ GIT在Windows上的安装与使用 ❖ 客户端Tortoisegit的安装与使用 ❖ GIT与第三方 Eclipse 整合 ❖ 通过CopSSH搭建GIT服务器 ❖ GIT经典协同模型/分支分类 ❖ Android源代码管理方式 ❖ GIT迁移
-
6
GIT简介
❖ Linus的第二个伟大作品。2005年由于BitKeeper软 件公司对Linux社区停止了免费使用权。Linus迫不 得己自己开发了一个分布式版本控制工具,从而Git 诞生了。
-
21
Android 源码管理
❖ Android使用Git作为代码管理工具,管理了160多个版本库。使用上有两 个重要的创新,开发了Gerrit进行代码审核以便更好的对代码进行集中式 管理,还开发了Repo命令行工具,对Git部分命令封装,将一百多个Git 库有效的进行组织。
Repo:repo是google开发的用于管理Android版本库的一个工具,是 用Python对Git进行一定的封装,简化了对多个版本库的管理。
HEAD:指向当前分支的一个提交 description:项目的描述信息 config:项目的配置信息 info/:里面有一个exclude文件,指定本项目要忽略的文件 objects/:Git对象库(commit,tree,blob,tag) refs/:标识着你的每个分支指向哪个提交 hooks/:默认的hook脚本
-
8
GIT 工作模型
❖ 集中式协同模型 ❖ 社交网络式协同模型
-
9
集中式协同模型
-
10
社交网络式协同模型
-
11
GIT基本交互流程图
-
12
GIT-Windows安装
❖ 参见GIT安装文档
-
13
GIT仓库初始化
❖ 仓库初始化
git init --bare shared.git
❖ 仓库文件目录
相关主题