zoukankan      html  css  js  c++  java
  • Git 01

    . Git

    1.1. Git是何方神圣?

    Git是用C语言开发的分布版本控制系统。版本控制系统可以保留一个文件集合的历史记录,并能回滚文件集合到另一个状态(历史记录状态)。另一个状态可以是不同的文件,也可以是不同的文件内容。举个例子,你可以将文件集合转换到两天之前的状态,或者你可以在生产代码和实验性质的代码之间进行切换。文件集合往往被称作是“源代码”。在一个分布版本控制系统中,每个人都有一份完整的源代码(包括源代码所有的历史记录信息),而且可以对这个本地的数据进行操作。分布版本控制系统不需要一个集中式的代码仓库。

    当你对本地的源代码进行了修改,你可以标注他们跟下一个版本相关(将他们加到index中),然后提交到仓库中来(commit)。Git保存了所有的版本信息,所以你可以转换你的源代码到任何的历史版本。你可以对本地的仓库进行代码的提交,然后与其他的仓库进行同步。你可以使用Git来进行仓库的克隆(clone)操作,完整的复制一个已有的仓库。仓库的所有者可以通过push操作(推送变更到别处的仓库)或者Pull操作(从别处的仓库拉取变更)来同步变更。

    Git支持分支功能(branch)。如果你想开发一个新的产品功能,你可以建立一个分支,对这个分支的进行修改,而不至于会影响到主支上的代码。

    Git提供了命令行工具;这个教程会使用命令行。你也可以找到图形工具,譬如与Eclipse配套的EGit工具,但是这些都不会在这个教程中进行描述。

    1.2. 重要的术语

    表 1. Git 术语

    术语定义

    仓库(Repository)

    一个仓库包括了所有的版本信息、所有的分支和标记信息。在Git中仓库的每份拷贝都是完整的。仓库让你可以从中取得你的工作副本。
    分支(Branches) 一个分支意味着一个独立的、拥有自己历史信息的代码线(code line)。你可以从已有的代码中生成一个新的分支,这个分支与剩余的分支完全独立。默认的分支往往是叫master。用户可以选择一个分支,选择一个分支叫做checkout.

    标记(Tags)

    一个标记指的是某个分支某个特定时间点的状态。通过标记,可以很方便的切换到标记时的状态,例如2009年1月25号在testing分支上的代码状态

    提交(Commit)

    提交代码后,仓库会创建一个新的版本。这个版本可以在后续被重新获得。每次提交都包括作者和提交者,作者和提交者可以是不同的人
    URL URl用来标识一个仓库的位置

    修订(Revision)

    用来表示代码的一个版本状态。Git通过用SHA1 hash算法表示的id来标识不同的版本。每一个 SHA1 id都是160位长,16进制标识的字符串.。最新的版本可以通过HEAD来获取。之前的版本可以通过"HEAD~1"来获取,以此类推。

    1.3. 索引

    Git 需要将代码的变化显示的与下一次提交进行关联。举个例子,如果你对一个文件继续了修改,然后想将这些修改提交到下一次提交中,你必须将这个文件提交到索引中,通过git add file命令。这样索引可以保存所有变化的快照。

    新增的文件总是要显示的添加到索引中来。对于那些之前已经提交过的文件,可以在commit命令中使用-a 选项达到提交到索引的目的。

    2. 安装

    在Ubuntu上,你可以通过apt来安装git命令行工具

    sudo apt-get install git-core

    对于其他的Linux版本,请查看相关的软件包安装工具使用方法

    msysgit项目提供了Windows版本的Git,地址是http://code.google.com/p/msysgit/

    3. 配置

    你可以在.gitconfig文件中防止git的全局配置。文件位于用户的home目录。 上述已经提到每次提交都会保存作者和提交者的信息,这些信息都可以保存在全局配置中。

    后续将会介绍配置用户信息、高亮显示和忽略特定的文件

    3.1. 用户信息

    通过如下命令来配置用户名和Email 

    复制代码
    # Configure the user which will be used by git
    # Of course you should use your name
    git config --global user.name "Example Surname"
    # Same for the email address
    git config --global user.email "your.email@gmail.com"
    # Set default so that all changes are always pushed to the repository
    git config --global push.default "matching"
    复制代码

    获取Git配置信息,执行以下命令:

    git config --list

    3.2. 高亮显示

    以下命令会为终端配置高亮

    git config --global color.status auto
    git config --global color.branch auto
  • 相关阅读:
    实用的DBHelper帮助类
    无刷新分页技术
    Android回部古剑之ViewFlipper之仙人指路
    Android玉石短剑之GridView之精挑细选
    构建门户之利刃Liferay Portal系统架构
    Android回部古剑之ViewFlipper之翻来覆去
    Android凝碧剑之CalendarView之万年历
    自己动手写Web容器之TomJetty之四:静态页面起步
    Android白虹剑之EditView之非法输入
    AssetBundle压缩/内部结构/下载和加载
  • 原文地址:https://www.cnblogs.com/huaobin/p/14910236.html
Copyright © 2011-2022 走看看