一张图搞定源代码管理之git

什么是git?

  • git是一款开源的分布式版本控制工具
  • 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的

git的起源

  • 作者是Linux之父:Linus Benedict Torvalds
  • 当初开发git仅仅是为了辅助Linux内核的开发(管理源代码)

git的现状

  • 在国外已经非常普及,国内并未普及(在慢慢普及)
  • 越来越多的开源项目已经转移到git

git和SVN的简单对比

  • 速度
    • 在很多情况下,git的速度远远比SVN快
  • 结构(最主要的区别)
    • SVN是集中式管理,git是分布式管理
  • 其他
  • SVN使用分支比较笨拙,git可以轻松拥有无限个分支
  • SVN必须联网才能正常工作,git支持本地版本控制工作
  • 旧版本的SVN会在每一个目录置放一个.svn,git只会在根目录拥有一个.git

注释

  • 上面git和SVN的简单对比和上一篇文章都提到集中式管理和分布式管理,那到底是什么呢,OK,看图

  • #######集中式版本控制


    一张图搞定源代码管理之git_第1张图片
    集中式版本控制.png
  • 分布式版本控制
一张图搞定源代码管理之git_第2张图片
分布式版本控制.png
  • 通过上面两张图能看出:
分布式和集中式的最大区别在于:
  • 在分布式下开发者可以本地提交
  • 每个开发者机器上都有一个服务器的数据库

git的工作流程

一张图搞定源代码管理之git_第3张图片
git的工作流程.png

关于git的几个核心概念

如果想了解git的工作原理,有几个核心概念必须知道
  • 工作区(Working Directory):仓库文件夹里除.git目录以外的内容
  • 版本库(Repository):.git目录,用于存储记录版本信息
  • 暂缓区(stage)
  • 分支(master):git自动创建的第一个分支
  • HEAD指针:用于指向当前分支
git add和git commit的原理
  • git add :把文件修改添加到暂存区
  • git commit :把暂存区的所有内容提交到当前分支

git工作原理

一张图搞定源代码管理之git_第4张图片
add commit.png
一张图搞定源代码管理之git_第5张图片
git add.png
一张图搞定源代码管理之git_第6张图片
git commit.png

接下来我们一张图搞定git本地操作

一张图搞定源代码管理之git_第7张图片
git.png

远程仓库

  • 如果是多人团队开发,最好还是搭建一个远程仓库
搭建远程仓库的途径
  • 自己搭建一个git服务器:费时费力
  • 在GitHub上托管项目:公开项目免费、私有项目收费,很多第三方开源项目
  • 在oschina上托管项目:完全免费,在国内访问速度快(推荐使用)
注:因为在GitHub上托管项目和在oschina上托管项目操作基本相似,所以这里只给大家介绍以下如何在GitHub上托管项目

搭建GitHub远程仓库

  • 注册一个GitHub帐号:https://github.com
  • 创建远程仓库


    一张图搞定源代码管理之git_第8张图片
    GitHub托管项目演示.png
  • 拷贝仓库地址,用于下载到本地
一张图搞定源代码管理之git_第9张图片
拷贝仓库地址.png
  • ok 远程仓库建好

你可能感兴趣的:(一张图搞定源代码管理之git)