• 1. Git和GitLab使用培训
  • 2. 1、Git介绍 2、GitHub和GitLab使用 3、我们怎么用
  • 3. 版本控制工具的历史本地版本控制系统集中式版本控制系统分布式版本控制系统rcscvs,svngit
  • 4. Git介绍诞生于2005年,因“穷”而生:Bitkeeper收回了Linux社区免费使用的权利,因此Linux社区(主要是Linus)自己开发了Git; 特点:速度快、设计简单、分布式、有能力高效管理超复杂的项目(Linux内核)
  • 5. 任意一个文件,在git内只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)已提交:Git中有特定版本的文件 已修改:从Git中clone出来,并且做了修改 已暂存:做了修改,并放入暂存区Git文件状态
  • 6. svngit存储快照而不存储文件
  • 7. HEAD指针代表当前工作在哪一个分支上; 在SVN中,HEAD代表什么含义?分支表示
  • 8. 分布式,几乎所有操作都在本地,没网也不必焦虑; 在保存到 Git 之前,所有数据都要进行内容的校验和(checksum)计算,并将此结果作为数据的唯一标识和索引; 使用 SHA-1 算法计算数据的校验和,通过对文件的内容或目录的结构计算出一个 SHA-1 哈希值,作为指纹字符串。该字串由 40 个十六进制字符(0-9 及 a-f)组成 使用SSH协议和http协议传输,默认推荐SSH更多特点……
  • 9. 1、Git介绍 2、GitHub和GitLab使用 3、我们怎么用
  • 10. GitHub基于git,全球最大的代码托管网站,超过1000万人使用 提供了图形化的界面,可以查看代码、wiki、issue、pull request、star、fork等功能; 提供了社交化功能; 著名开源的项目都已迁移到github上,ror,nodejs,bootstrap,jquery等; 一些政府也在github上发布源代码和数据集(白宫); 对普通用户免费,也提供商业服务;
  • 11. Repository一个Repository相当于一个项目,公开的repository不收费; 提供了git服务器,可以把本地的内容push到github上; 图形化界面,可以查看代码,查看提交历史记录等; 提供wiki,issues,统计信息等;
  • 12. 代码协作及社交化fork:原意叉子,这里指把别人的项目克隆一份到自己的repository中; pull request:fork了项目之后,如果发现有bug或者功能优化,调整之后,可以发起pull request,当项目的负责人接受之后,你的代码就会被合并到项目中,你会变成contributor; 可以follow名人(dhh,朴灵),了解其动态; 可以watch,star项目;
  • 13. GitLabgithub的缺点:private的项目需要收费;国外网站,容易被墙; gitlab提供了同github类似的功能,而且可以部署在自己内部的服务器上,社区版的免费; 主要功能包括git仓库管理、code review、问题追踪、wiki; 快速更新:gitlab每月都更新; 提供权限管理:可以控制每一个项目的权限; 丰富的插件:可以同jira、jenkins、slack等集成。
  • 14. 新建项目时可以选择可视级别:添加项目成员时,可以选择访问权限:权限管理
  • 15. GitLab使用指南1、注册账号 2、安装本地Git工具 3、生成ssh-key,并与GitLab服务器对接上 4、配置本地属性 5、与GitLab服务器交互
  • 16. 1、Git介绍 2、GitHub和GitLab使用 3、我们怎么用
  • 17. 项目切换到GitLab上
  • 18. git命令行工具很强大,可以满足所有需求; eclipse 新版本中默认集成了git插件; idea中集成了git插件; Android studio,Xcode集成了git插件。Git工具
  • 19. Git基本命令分类建立仓库 本地提交 与远程仓库交互 分支与合并 回滚历史 状态监控
  • 20. Git命令详解1、建立仓库 git clone 克隆远程仓库 git init 建立本地仓库 2、本地提交 git add 将文件加入版本管理 git commit -m"message" 提交到本地仓库 3、与远程仓库交互 git push origin [branch] -f 本地仓库推送到远程仓库 git pull origin master 远程仓库拉取合并到本地仓库4、分支与合并 git branch 建立本地分支 git checkout -b develop ( master )切换分支 git fetch origin master 远程仓库拉取到本地仓库 git merge ( --no-ff) 合并本地仓库的不同分支 git diff master develop 版本对比 git rebase 将几个版本的提交合并成一个 5、回滚历史 git reset 回到某个历史版本 6、状态监控 git status 当前文件状态 git log 操作记录
  • 21. 实战(0)
  • 22. 实战(1)
  • 23. 实战(2)
  • 24. 实战(3)
  • 25. 聚龙融创Git使用规范新建项目 提交规范 分支规范 版本发布规范
  • 26. 参考资料git官方教材中文版:https://git-scm.com/book/zh/ github入门教学视频:http://www.stuq.org/course/detail/969#rd 分支策略:http://www.ruanyifeng.com/blog/2012/07/git.html 分支管理流程图:Git-branching-model.pdf 参考网站:http://gitbook.liuhui998.com/
  • 27. THANKS!