【工具】Git入门概念

来源:互联网 发布:unity3d入门 编辑:程序博客网 时间:2024/05/22 14:56
     版本控制系统是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制系统主要有CVS、SVN和Git等,Git作为分布式版本控制系统,与集中化版本控制系统的不同是,客户端并不只提取最新版本的文件快照,而是把代码仓库完整镜像下来。任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。
  1. Git仓库管理工具
     常用的Git仓库管理工具有:
  • GitLab——Ruby开发
          支持的Unix衍生版:Ubuntu、Debian、CentOS、Red Hat Enterprise Linux、Scientific Linux、Oracle Linux
          Git不可运行在Windows操作系统上。
  • Gitblit——Java开发
          支持的操作系统:Windows、Linux、OSX
  • Bitbucket——Scala开发
  • Gitonomy——PHP开发
  • Gogs——Go开发
          支持所有平台,包括Linux、Mac OS X、Windows及ARM平台
  1. Git客户端工具
     常用的Git客户端工具:
  • Git Extensions ——C#开发
          支持Windows资源管理器集成和VS集成
          通过Mono支持多平台安装
  • SourceTree
          支持Windows和OS X
  • TortoiseGit——C++开发
          支持Windows平台
  • JS Git——JavaScript开发
          运行在任何可运行JavaScript的平台
  • git-cola——Python开发
          支持跨平台
  1. Git的三种状态
     Git有三种状态:已提交(committed)、已修改(modified)和已暂存(staged)。已提交表示数据已经安全的保存在本地数据库中;已修改表示修改了文件,但还没保存到数据库中;已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。由此,Git项目有三个工作区:Git仓库、工作目录和暂存区域。

图1 Git三个工作区
  1. Git分支
     有人把Git的分支模型称为它的“必杀技特性”。Git创建新分支的操作几乎是瞬间完成,并且在不同分支之间切换也一样便捷。Git首次提交产生的提交对象没有父对象,普通提交操作产生的对象有一个父对象,而由多个分支合并产生的提交对象有多个父对象。Git创建分支,只是为你创建了一个可以移动的新的指针。

图2 渐进稳定分支的流水线图
  1. Git钩子
     Git能在特定的重要动作发生时触发自定义脚本。有两组钩子:客户端的和服务器端的,客户端钩子由诸如提交和合并这样的操作所调用,服务器端钩子作用于诸如接收被推送的提交这样的联网操作。钩子都被存储在Git目录下的hooks子目录中。
     更多详细使用过程,请参考《Pro Git》。


参考文献:
  1. 12款各种编程语言实现的Git代码托管系统.    oschina
  2. https://git-scm.com/book/zh/v2

0 0
原创粉丝点击