




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Git使用培训 谭宗威2014 07 29 欢迎 今天的内容概述 学习目标 版本管理的作用掌握日常的操作团队协作 版本管理的作用 为什么要版本管理 常用版本管理介绍 常见的版本管理软件 版本管理的工作模式 灵活性 健壮性 单机版 文件系统 RCS 分布式 Git Mercurial 发展过程 集中式 CVS SVN 本地计算机 版本库 本地版本管理 版本库 个人电脑 服务器RCS RevisionControlSystem可追踪修改历史问题 如何协作 Version3 Version2 Version1 file 检出 计算机A file 检出 版本服务器 版本库 集中式版本管理 版本库 版本服务器VCS VersionControlSystem又称CVCS CentralVCS 有SVN CVS firefly等产品问题 服务器会停网络会不通 Version3 Version2 Version1 计算机B file 检出 版本服务器 版本库 分布式版本管理 版本库版本服务器个人计算机VCS 又称DVCS DistributedVCS 有GIT HG bazaar等产品问题 乱成一团 分支管理机制 Version3 Version2 Version1 计算机A 版本库 Version3 Version2 Version1 计算机B 版本库 Version3 Version2 Version1 file 检出 file 检出 协作模式 锁定模型冲突合并模型 常用术语 分支 Branch 在一个时间点 复制一份处于版本控制之下的文件 从这之后 这两份拷贝就可以独立的互不干扰的进行各自开发 取出 Check out 一次 取出 就是在本地创建一份仓库的工作拷贝 提交 Commit 一次 提交 将本地的修改写回到仓库或合并到仓库 冲突 Conflict 当开发者们同时提交对同一文件的修改 而且版本系统不能把它们合并到一起 就会引起冲突 就需要人工来进行合并 合并 Merge 合并就是把所有对文件的修改统一到文件里仓库 Repository 仓库就是当前的和历史的处于版本控制之下的文件所在的地方 通常在服务器端 工作版本 Workingcopy 从档案库中取出一个本地端的复制 所有在档案库中的档案更动 都是从一个工作版本中修改而来的 这也是这名称的由来 Git介绍 Git的诞生 2002年以前Linus个人以diff方式管理2002年至2005年BitMover公司的BitKeeper2005年以后Linus两个月开发出Git Git的发展 大部份开源软件GGCC GIT设计目标 版本服务器 版本库 GIT工作模式 版本库初始化个人计算机从版本服务器同步操作90 以上的操作在个人计算机添加文件修改文件提交变更查看版本历史等版本库同步将本地修改传送到版本服务器 Version3 Version2 Version1 计算机A 版本库 Version3 Version2 Version1 计算机B 版本库 Version3 Version2 Version1 file 检出 file 检出 GIT文件存储 第二部分GIT基础 版本库结构 Tortoisegit设置 创建版本库 版本库 repository创建方法执行gitinit示例工作目录 E Repositories GIT RCMSDemo在工作目录中点击鼠标右键 git目录版本库 暂存区和对象库 第一个提交 创建文件Readme txt使用gitadd命令添加Readme txt使用gitcommit提交Readme txt 修改文件 修改Readme txt使用gitadd命令添加Readme txt使用gitcommit提交Readme txt 克隆版本库 示例版本服务器 gitserver版本服务器用户 gitusr版本库 RCMSDoc本地目录 F git 文件状态a 工作区 版本库 版本管理 工作区工作目录 git文件夹所处目录文件状态未跟踪 处于工作目录 但未被版本库管理的文件已跟踪 已被版本库管理的文件 可能存在于工作目录 也可能不存在于工作目录中 GIT文件状态 工作区 暂存区 对象库 修改文件 暂存文件 提交文件 检出文件 GIT文件已被版本库管理的文件已修改在工作目录修改GIT文件已暂存对已修改的文件执行git暂存操作 将文件存入了暂存区已提交将已暂存的文件执行git提交操作 将文件存入对象库 本地计算机 版本库 Versionm Version Version1 file 本地版本库与服务器版本库 一 版本服务器 版本库 Version3 Version2 Version1 本地计算机 版本库 Version3 Version2 Version1 file 检出 gitadd commit gitpush gitpull 版本服务器 版本库 Versionm Version Version1 远程协作 一 创建文件Readme txt使用gitadd命令添加Readme txt使用gitcommit提交Readme txt至本地版本库xt使用gitpush保存Readme txt到服务器版 版本服务器 版本库 Versionx Version Version1 本地计算机 版本库 Versionm Version Version1 本地版本库与服务器版本库 二 版本服务器 版本库 Version3 Version2 Version1 本地计算机 版本库 Version3 Version2 Version1 gitadd commit gitpush gitpull 版本服务器 版本库 Versionn Version Version1 gitpush gitpull 本地计算机 版本库 Versionx Version Version1 远程协作 二 修改Readme txt使用gitadd命令添加Readme txt使用gitcommit提交Readme txt使用gitpull获取服务器版本库更新使用gitpush将Readme txt保存至版本服务器 GIT常用命令 获得版本库gitinitgitclone版本管理gitaddgitrmgitcommit远程协作gitpullgitpush 查看信息githelpgitloggitdiff 第三部分GIT进阶 再谈暂存区和对象库 暂存区一个文件 git index对象库一个目录 git objects存放版本库的各种对象 对象 对象每个对象都是一个文件每个对象都用40位的SHA 1值标识 6ff87c4664981e4397625791c8ea3bbb5f2279a3前两位作为目录名 后38位作为文件名对象组成类型 blob tree commit和tag内容 对象文件的内容大小 内容的大小 对象类型 blob是一个文件存储文件的内容tree是一个文件类似一个目录包含其它tree和blob commit是一个文件包含时间 作者 一个tree的标识 父commit的标识tag是一个文件包含一个commit的标识 案例 blob tree commit 对象模型 gitstatus 工作区相比暂存区新增文件修改文件删除文件一致 gitadd 暂存区相比对象库新增文件 gitadd 修改文件 gitadd 删除文件 gitrm 一致 gitcommit 暂存区仅保留对象库当前分支的快照 gitcommit将会替换当前快照 使得暂存区与对象库的当前分支最新更新一致 gitrm GIT通常只会增加内容 不用担心丢失曾经有的数据GIT也支持彻底清除确认无效的数据 属于更高级的内容 第四部分分支管理 分支 概念一个commit对象链 一条工作记录线 master 主分支默认分支主体功能开发 综合信息一个文件 git refs heads master文件内容 commit对象的SHA 1值 HEAD 当前commit对象引用一个文件 git HEAD文件内容 分支引用 ref refs heads master commit对象的SHA 1值 4c9f4 再谈分支 概念一个文件 位于 git refs heads目录下文件内容 commit对象的SHA 1值分支管理创建分支 gitbranch删除分支 gitbranch d 在分支上工作 切换到分支gitcheckout用分支对应的快照更新暂存区和工作区 分支合并 gitmerge 冲突 冲突 修改了两个待合并分支里同一个文件的同一部分 比如同一行 冲突产生 冲突解决 第五部分团队协作 远程版本库 管理gitclone 生成一个叫orgin的远程版本库gitremote v 查看远程版本库信息gitremoteadd 指定版本库名字路径 git refs remotes 远程分支 路径 git refs remotes 访问方式 origin master跟踪分支 trackingbranch gitcheckout gitcheckout b 从远程版本库抓取数据 gitfetch remotereponame gitfetch gitfetchorigin从远程仓库中拉取本地仓库中还没有的数据 所有分支 需要执行gitcheckout跟踪远程分支 从而产生本地分支 再谈克隆版本库 gitclonegitinitgitremoteaddorigingitfetchorigingitcheckoutorigin master 推送数据给远程版本库 gitpush remotereponame branchname 将本地分支推送给的分支gitpush如果当前分支为跟踪分支 则推送至其跟踪的远程分支否则 gitpushorigin 将当前分支推送给origin 在o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年gmp判断试题及答案
- 2025年sql 实训试题及答案
- 2025年调酒专业考试题及答案
- 2025年中医方剂学 试题及答案
- 2025年vb大学考试试题及答案
- 2025年ai测试题及答案经典
- 2025年中医学书籍考试题及答案
- 机油真假协议书
- 杂志销售协议书
- 村民就业协议书
- 三升四数学综合练习(60天)暑假每日一练
- 广州市白云区社区专职招聘笔试真题2024
- 2025实习生劳动合同书范本下载(合同范本)
- 新版高中英语人教版必修一单词表默写英译汉
- 危险性较大分项工程施工过程旁站记录
- 中国烟草PPT模板
- 溺水急救和护理课件
- 建标 106-2021 中医医院建设标准
- 2022年《国民经济行业分类》
- 中国神经科学数字化创新白皮书 (2022)
- 幂函数、指数函数、对数函数专练习题(含答案)84851
评论
0/150
提交评论