首页 > 其他 > 详细

Git&码云&TortoiseGit系列学习

时间:2019-07-20 18:52:16      阅读:157      评论:0      收藏:0      [点我收藏+]
  • [1、Git整体介绍]
    本章导航----Git整体学习思维导图
    技术分享图片

  • [2、版本控制简介]
    本章导航----版本控制思维导图
    技术分享图片

    • [版本控制简介]
      版本控制是维护项目/工程的标准做法,能追踪项目/工程从建立到完成的过程,是一种记录若干文件内容变化的方法,便于查看项目文件内容变化以及版本修订情况的系统。

    • [为什么要学习版本控制]
      a:备份多个版本,浪费存储空间,花费时间长。
      b:难以恢复至以前的历史版本,容易引发BUG,解决代码冲突困难。
      c:难于追溯问题代码的修改人和修改时间、修改内容、日志信息。
      d:项目升级,版本发布困难。
      e:无法进行权限控制。 比如 测试人员:只读;开发人员:模块权限。
      f:开发团队在工作过程中无法多条生产线同时推进任务,效率慢等。

    • [常用的版本控制工具]
      集中式版本控制工具代表:SVN(所谓的集中式就是文件都集中保存在一台服务器上)
      分布式版本控制工具代表:Git(所谓的分布式就是文件保存在多台服务器上)

  • [3、Git与SVN比较]
    本章导航----Git与SVN思维导图
    技术分享图片

    • [Git-与SVN记录文件的差异]
      Git和其他版本控制系统的主要差别在于,Git 只关心文件的整体是否发生变化。而SVN这类版本控制系统则只关心文件内容的具体差异。SVN这类系统每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。然而 Git 并不保存这些前后变化的差异数据。实际上,Git更像是把 变化的文件 作一个快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息(Hash值)并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的快照作一链接。

    • [Git-优点]
      a:分布式,强调个体
      b:公共服务器压力和数据量都不会太大
      c:离线工作,每个人的本地仓库,大部分操作在本地库完成,不需要联网(SVN做不到)
      d:分支操作非常快捷流畅(重点介绍)
      e:可以吃后悔药, 尽可能添加数据而不是删除或修改数据(删除或修改不容易恢复,而每次添加一个版本,历史版本都有)
      f:速度快、灵活, 有能力高效管理类似 Linux
      g:内核一样的超大规模项目(速度和数据量)

    • [SVN-简介]
      SVN 属于集中式版本管理控制系统,服务器中保存了所有文件的不同版本,而协同工作人员通过连接svn服务器,提取出最新的文件,获取提交更新。Subversion 项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。

    • [SVN-缺点]
      集中管理方式在一定程度上看到其他开发人员在干什么,而管理员也可以很轻松掌握每个人的开发权限。但是相较于其优点而言,集中式版本控制工具缺点很明显:
      a:服务器单点故障;
      b:必须连接在SVN服务器上,否则不能提交,对比,还原等;

  • [4、Git本地工作区域]
    本章导航----Git本地工作区域思维导图
    技术分享图片

    • [直奔主题]
      对于任何一个文件,在 Git 内都只有三种区域:工作区,暂存区和本地仓库
      工作区:表示新增或修改了某个文件,但还没有提交保存;
      暂存区:表示把已新增或修改的文件,放在下次提交时要保存的清单中;
      本地仓库:表示文件已经被安全地保存在本地仓库;
  • [5、Git与代码托管平台]
    本章导航-----Git与代码托管平台思维导图
    技术分享图片

    • [Git与GitHub比较]
      a:Git:是一个版本管理工具 , 只在本地使用的一个版本管理工具,其作用就是可以让你更好的管理你的程序,比如你原来提交过的内容,后面虽然修改过,但是通过git这个工具,可以把你原来提交的内容重现出来,这样对于你后来才意识到的一些错误进行更改,进行还原.

    b:GitHub:是一个基于Git的远程代码托管平台(网站),可以在github上建立一个远程库,可以将本地库的代码提交到远程库,这样你的每次提交,别人也都可以看到你的代码,同时别人也可以帮你修改你的代码,这种开源的方式非常方便程序员之间的交流和学习.

    • [代码托管平台]
      局域网环境:GitLab(可自行搭建)
      外网环境:GitHub,码云

    • [本地库和远程库]
      a:团队内部协作开发

    b:远程跨团队协作开发

Git&码云&TortoiseGit系列学习

原文:https://www.cnblogs.com/wecc/p/11218244.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!