Git基础

#Git 是什么?

①每当提交更新或保存项目状态时,它基本上就会对当时的全部文件创建一个快照并保存这个快照的索引。为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

②Git 中所有的数据在存储前都计算校验和,然后以校验和来引用。 这意味着不可能在Git不知情时更改任何文件内容或目录内容。这个功能建构在Git底层,是构成Git哲学不可或缺的部分。若你在传送过程中丢失信息或损坏文件,Git就能发现。Git 用以计算校验和的机制叫做SHA-1散列(hash,哈希)。这是一个由40个十六进制字符(0-9 和 a-f)组成的字符串,基于Git中文件的内容或目录结构计算出来。

三种状态

Git 有三种状态: 
已提交(committed):已提交表示数据已经安全地保存在本地数据库中。
已修改(modified):已修改表示修改了文件,但还没保存到数据库中。
已暂存(staged):已暂存表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

Git 项目拥有三个阶段:工作区、暂存区以及 Git 目录。

基本的 Git 工作流程:

  1. 在工作区中修改文件。
  2. 将你想要下次提交的更改选择性地暂存,这样只会将更改的部分添加到暂存区。
  3. 提交更新,找到暂存区的文件,将快照永久性存储到 Git 目录。

如果 Git 目录中保存着特定版本的文件,就属于 已提交状态。
如果文件已修改并放入暂存区,就属于 已暂存状态。
如果自上次检出后,作了修改但还没有放到暂存区域,就是 已修改状态。

Git 官方网站下载

Windows 上下载:Git 官方网站 。默认安装即可。

初次运行 Git 前的配置

  1. 安装完 Git 之后,要做的第一件事就是设置你的用户名和邮件地址。因为每一个 Git 提交都会使用这些信息,它们会写入到你的每一次提交中,不可更改:

     $ git config --global user.name "John Doe"
     $ git config --global user.email johndoe@example.com
    

    再次强调,如果使用了 --global选项,那么该命令只需要运行一次,因为之后无论你在该系统上做任何事情, Git 都会使用那些信息。 当你想针对特定项目使用不同的用户名称与邮件地址时,可以在那个项目目录下运行没有 --global选项的命令来配置。

  2. Git 自带一个 git config的工具来帮助设置控制 Git 外观和行为的配置变量。

    这些变量存储在三个不同的位置:

    1.***/etc/gitconfig文件***: 包含系统上每一个用户及他们仓库的通用配置。 如果在执行 git config时带上–system选项,那么它就会读写该文件中的配置变量。(由于它是系统配置文件,因此你需要管理员或超级用户权限来修改它。)
    2.***~/.gitconfig或 ~/.config/git/config文件***:只针对当前用户。传递 --global选项让 Git读写此文件,这会对你系统上所有的仓库生效。
    3.当前使用仓库的 Git 目录中的 config文件(即 .git/config):针对该仓库。传递 --local选项让 Git 强制读写此文件,默认情况下用的就是它。(需要进入某个 Git 仓库中才能让该选项生效。)

    每一个级别会覆盖上一级别的配置。所以 .git/config的配置变量会覆盖 /etc/gitconfig中的配置变量。

    在 Windows 系统中,Git 会查找 $HOME目录下(一般情况下是 C:\Users$USER)的 .gitconfig文件。

  3. 通过以下命令查看所有的配置以及它们所在的文件:
    $ git config --list --show-origin

检查配置信息

列出所有 Git 当时的配置:git config --list

结果可能会看到重复的变量名,因为 Git 会从不同的文件中读取同一个配置(例如:/etc/gitconfig与~/.gitconfig)。这种情况下,Git 会使用它找到的每一个变量的最后一个配置。

  • 检查 Git 的某一项配置。可以通过输入 git config :

    $ git config user.name

    由于 Git 会从多个文件中读取同一配置变量的不同值,因此你可能会在其中看到意料之外的值而不知道为什么。 此时,你可以查询 Git 中该变量的 原始值,它会告诉你哪一个配置文件最后设置了该值:

  • 检查最后设置了该值的配置文件

    $ git config --show-origin rerere.autoUpdate

    或者

    $ git config --show-origin user.name

获取帮助

  • 有三种等价的方法可以找到 Git 命令的综合手册(manpage):

    • $ git help <verb>
    • $ git <verb> --help
    • $ man git-<verb>

    <verb>用需要获取帮助的关键词替换,(第三种方法需要当前环境安装了man,windows环境下的git bash是没有的)。

  • 例如:

    • $ git help clone
    • $ git clone --help
    • $ git help
    • $ git add -h
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值