git的使用

一、版本控制
版本控制是一种用来记录一个或若干文件内容的变化,以便将来可以查阅特定版本修订情况的系统。
在本教程所展示的例子中,我们对保存着软件源代码的文件作版本控制,但实际上,你可以对任何类型的文件进行版本控制。

  1. 本地版本控制系统
    将项目代码拷贝的方式来保存不同的版本,或许还会改名加上备份时间以示区别。 这么做唯一的好处就是简单,但是特别容易犯错。
    为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。
    其中现在大部分人用的是svn或者git
  2. Git介绍
    Linux 内核开源项目有着为数众广的参与者。
    他们对新的系统制订了若干目标:
    速度
    简单的设计
    对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
    完全分布式
    有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)
    自诞生于 2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。
    它的速度飞快,极其适合管理大项目,有着令人难以置信的非线性分支管理系统。
    二、 Git 基础
  3. 直接记录快照,而非差异比较
    Git 和其它版本控制系统的主要差别在于 Git 对待数据的方法。
    其它大部分系统以文件变更列表的方式存储信息。 Git 更像是把数据看作是对小型文件系统的一组快照。每次你提交更新,或在 Git 中保存项目状态时,它主要对当时的全部文件制作一个快照并保存这个快照的索引。
    为了高效,如果文件没有修改,Git 不再重新存储该文件,而是只保留一个链接指向之前存储的文件。
    Git 对待数据更像是一个 快照流。
    这是 Git 与几乎所有其它版本控制系统的重要区别。Git 更像是一个小型的文件系统,提供了许多以此为基础构建的超强工具,而不只是一个简单的 VCS。
  4. 近乎所有操作都是本地执行
    在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。这也意味着你离线或者没有 VPN 时,几乎可以进行任何操作。 如你在飞机或火车上想做些工作,你能愉快地提交,直到有网络连接时再上传。 如你回家后 VPN 客户端不正常,你仍能工作。
  5. Git 保证完整性
    Git 中所有数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在 Git 不知情时更改任何文件内容或目录内容。 这个功能建构在 Git 底层,是构成 Git 哲学不可或缺的部分。 若你在传送过程中丢失信息或损坏文件,Git 就能发现。
    实际上,Git 数据库中保存的信息都是以文件内容的哈希值来索引,而不是文件名。
  6. Git 一般只添加数据
    你执行的 Git 操作,几乎只往 Git 数据库中增加数据。 很难让 Git 执行任何不可逆操作,或者让它以任何方式清除数据。
    一旦你提交快照到 Git 中,就难以再丢失数据,特别是如果你定期的推送数据库到其它仓库的话。
  7. 三种状态
    Git 有三种状态,你的文件可能处于其中之一:
    已修改(modified): 表示修改了文件,但还没保存到数据库中。
    已暂存(staged): 表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。
    已提交(committed): 表示数据已经安全的保存在本地数据库中。
    由此引入 Git 项目的三个工作区域的概念:
    工作目录
    暂存区域
    Git 仓库(版本库)
    工作区、暂存区、版本库 图解
    工作目录是对项目的某个版本独立提取出来的内容。 这些从 Git 仓库的压缩数据库中提取出来的文件,放在磁盘上供你使用或修改。
    暂存区域是一个文件,保存了下次将提交的文件列表信息,一般在 Git 仓库目录中。 有时候也被称作“索引”,不过一般说法还是叫暂存区域。
    Git 仓库目录是 Git 用来保存项目的元数据和对象数据库的地方。 这是 Git 中最重要的部分,从其它计算机克隆仓库时,拷贝的就是这里的数据。
    基本的 Git 工作流程如下:
    在工作目录中修改文件。
    暂存文件,将文件的快照放入暂存区域。
    提交更新,找到暂存区域的文件,将快照永久性存储到 Git 仓库目录。
    如果作了修改并已放入暂存区域,就属于已暂存状态。 如果自上次取出后,作了修改但还没有放到暂存区域,就是已修改状态。如果 Git 目录中保存着的特定版本文件,就属于已提交状态。
    三、Git安装
  8. 在 Linux 上安装
    如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum:
    Linux下安装git命令
  9. 在 Windows 上安装
    在 Windows 上安装 Git 也有几种安装方法:
    官方版本可以在 Git 官方网站下载。
    打开 http://git-scm.com/download/win,下载会自动开始。
    另一个简单的方法是安装 GitHub for Windows。该安装程序包含图形化和命令行版本的 Git。它也能支持 Powershell,提供了稳定的凭证缓存和健全的 CRLF 设置。你可以在 GitHub for Windows 网站下载,网址为 http://windows.github.com
    四、 初次运行 Git 前的配置
    既然已经在系统上安装了 Git,你会想要做几件事来定制你的 Git 环境。 每台计算机上只需要配置一次,程序升级时会保留配置信息。 你可以在任何时候再次通过运行命令来修改它们。
    Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。
    这些变量存储在三个不同的位置:
    ** /etc/gitconfig 文件**: 包含系统上每一个用户及他们仓库的通用配置。如果使用带有–system选项的git config时,它会从此文件读写配置变量。
    ** ~/.gitconfig 或 ~/.config/git/config 文件**:只针对当前用户。可以传递–global选项让 Git 读写此文件。
    当前使用仓库的 Git 目录中的 config 文件(就是 .git/config ):针对该仓库。
    每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。
    在 Windows 系统中,Git 会查找 $HOME 目录下(一般情况下是 C:\Users$USER )的 .gitconfig 文件。Git 同样也会寻找 /etc/gitconfig 文件,但只限于 MSys 的根目录下,即安装 Git 时所选的目标位置。
  10. 用户信息
    当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
    $ git config --global user.name “John Doe”
    $ git config --global user.email johndoe@example.com
    再次强调,如果使用了 --global 选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global 选项的命令来配置。
    很多 GUI 工具都会在第一次运行时帮助你配置这些信息。
  11. 文本编辑器
    既然用户信息已经设置完毕,你可以配置默认文本编辑器了,当 Git 需要你输入信息时会调用它。 如果未配置,Git 会使用操作系统默认的文本编辑器,通常是 Vim。 如果你想使用不同的文本编辑器,例如 Emacs,可以这样做:
    $ git config --global core.editor emacs
    警告:
    Vim 和 Emacs 是像 Linux 与 Mac 等基于 Unix 的系统上开发者经常使用的流行的文本编辑器。 如果你对这些编辑器都不是很了解或者你使用的是 Windows 系统,那么可能需要搜索如何在 Git 中配置你最常用的编辑器。 如果你不设置编辑器并且不知道 Vim 或 Emacs 是什么,当它们运行起来后你可能会被弄糊涂、不知所措。
  12. 检查配置信息
    如果想要检查你的配置,可以使用 git config --list 命令来列出所有 Git 当时能找到的配置。
    $ git config --list
    user.name=John Doe
    user.email=johndoe@example.com
    color.status=auto
    color.branch=auto
    color.interactive=auto
    color.diff=auto

    你可能会看到重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig 与 ~/.gitconfig)。 这种情况下,Git 会使用它找到的每一个变量的最后一个配置。
    你可以通过输入 git config : 来检查 Git 的某一项配置
    $ git config user.name
    五、 获取帮助
    若你使用 Git 时需要获取帮助,有三种方法可以找到 Git 命令的使用手册:
    $ git help
    $ git --help
    $ man git-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独宠子沫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值