美文网首页
常用版本控制工具之 GIT(一)

常用版本控制工具之 GIT(一)

作者: ElvisSun | 来源:发表于2017-02-11 11:02 被阅读47次

* 是什么

* 怎么用

* 用在哪些场合

* 有哪些注意点

## 什么是 git

* 是一款开源的分布式版本控制工具。

* 所有的分布式版本控制工具中,git 是最快、最简单、最流行的工具

## git 的起源

* 作者是 Linux 之父:Linus Benedict Torvalds

* 为了辅助 Linux 内核的开发(管理源代码)

## git 现状

国外已经非常普及,国内并未普及

## 其它版本控制工具

* CVS 最早的开源、免费的集中式版本控制恐惧

* SVN使用最多的集中式版本控制工具

* ClearCase

*  VSS 微软开发的版本控制工具

## 集中版本控制

[image:41059088-B185-4490-81E7-B2DB59015D94-11366-000073DD2FF0685E/集中版本控制工具.png]

所有的代码在一个地方进行管理

## 分布式版本控制

[image:353310C9-26D8-4832-B305-B358C1787A16-11366-000060E253135606/屏幕快照 2017-02-10 18.51.50.png]

服务端和客户端都有代码仓库。

## git 和 svn 的简单对比

* 速度 :

很多情况下,git 的 速度远比 SVN 快

* 结构:

svn 集中式管理,git 分布式管理

* 其它:

svn 使用分支比较笨拙,git 可以轻松拥有无限个分支

svn 使用时必须联网,git 支持本地版本控制工作

旧版本的 svn 会在每一个文件夹下 放置一个.svn,git 只会在根目录 拥有一个.git

## git 的工作流程

[image:92CFFCFF-CC34-45D1-AA56-94B727C0629F-11366-000069B4F7E3F383/屏幕快照 2017-02-10 21.33.22.png]

* 先 commit 本地缓存区,在执行 pull,push 操作。

* 分布式和集中式的最大区别在于:在分布式下开发者可以本地提交,每个开发者机器上都有一个服务器的数据库

## 使用 git

*可以通过命令行指令或者图形界面客户端使用 git*

在mac 上,比较好用的 git 图形界面客户端有

* SourceTree[SourceTree](http://www.sourcetreeapp.com/download/)

* Github  [Github 客户端](https://mac.github.com) 不过它是专门为 GitHub 网站设计的

* Xcode 集成的指令比较简单,不能进行较复杂的操作

### 使用指令:

1)新建一个本地仓库

$ git init

2)配置仓库

*一次性配置* (会配置到管理文件的.git 文件夹下)

我是谁

$  git config user.name myname

怎么联系我

$  git config user.email myemail@email.com

*全局配置* (一劳永逸,放到个人用目录下)

$ git config —global user.name myname

$ git config —global user.email myemail@email.com

### 如何学习 git 指令

>  git通过使用指南的方式告诉我们某一个指令如何使用

> 这个指令其实是一个不可编辑的 vim

>  q 退出指南

> 按空格下一页

> control + B 上一页

> /需要搜索的内容

$ git —help

e.g.: $ git —help clone

### git 常规指令

$ git status 查看文件状态’

$ git add 添加文件到暂存区

$ git commit 文件名称 -m 日志信息  *添加文件到”本地仓库”*

如没有-m 说明,会自动进入 vim 界面,要求我们输入修改信息

注意:git 中每次新建或修改之后都要重新 add,svn 只需要 add 一次

文件状态颜色

> 1、未添加之前的颜色  ——— 红色 代表在”工作区”

> 2、添加到暂存区之后的颜色 ——— 绿色 代表在”暂存区”

## 工作原理

核心概念:

* 工作区(Working Directory):仓库文件夹里除.git 目录以外的内容

* 版本库(Repository):.git 目录,用于存储记录版本信息.

暂缓区(stage)

分支(master):git 自动创建的第一个分支

HEAD指针:用于指向当前分支

git add 和 git commit 的原理:

* git add:把文件修改添加到暂存区

* git commit : 把暂存区的所有内容提交到当前分支

[image:0B5090F4-4EF3-4739-97DE-2899BBC7231A-11366-000072C56B1EFB8D/屏幕快照 2017-02-11 09.19.35.png]

[image:190BE1D4-A8C0-4BF9-86F4-80455384D65C-11366-000072D514C2E003/屏幕快照 2017-02-11 09.20.20.png]

[image:4C2A9F6D-A258-4CB6-B656-9287F7B88E18-11366-000072DCDAC5CF3E/屏幕快照 2017-02-11 09.21.19.png]

相关文章

  • Git 基本用法

    Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它...

  • 常用版本控制工具之 GIT(一)

    * 是什么 * 怎么用 * 用在哪些场合 * 有哪些注意点 ## 什么是 git * 是一款开源的分布式版本控制工...

  • CornerStone(SVN)

    最常用的版本控制工具有SourceTree(GIT)和CornerStone(SVN); CornerStone(...

  • 版本管理(二)

    上一篇复习了版本管理工具SVN,现在开始Git。 git是一款开源的分布式版本控制工具 git常用命令 $ git...

  • Git使用详解

    代码管理工具之Git 一,什么是版本控制? 版本控制透过文档控制(documentationcontrol)记录程...

  • 常用版本控制工具之 GIT(二)

    git 自定义简写 $ git config alias.st status 注意:除非特殊原因,最好不要设置别...

  • git

    git 简单介绍 版本控制工具,用来记录变化过程 git 常用命令 git 原理 1、git分为4层,工作空间、缓...

  • Git基础教程

    简介 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git 与常用的版本控制工具 ...

  • git基础

    Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git与常用的版本控制工具 CVS, ...

  • git小白的命令行初体验

    现在版本控制使用git的挺多,之前常用SVN,偶尔使用Git也是使用可视化工具操作(sourcTree,IDE自带...

网友评论

      本文标题:常用版本控制工具之 GIT(一)

      本文链接:https://www.haomeiwen.com/subject/pqonittx.html