zoukankan      html  css  js  c++  java
  • Git工作区和暂存区

    Git和其他版本控制系统的一个不同之处就是有 暂存区 的概念。这也是Git高效率的原因。

    1,工作区(Working Directory)

      工作区就是电脑中的任意目录,比如"git命令快速入门章节"中的 /d/GitTestRepos/git003 目录就是一个工作区:

      

      

    2,版本库(Repository

      工作区里面有一个隐藏目录 .git ,这个目录不算作工作区,而是Git的版本库

      注意:千万不要去乱动 .git 目录的内容。

      Git的版本库中存储了很多东西,其中最重要的就是称为 stage(或者叫idnex)的暂存区,还有Git默认创建的主分支 master,以及指向 master 的一个指针叫 HEAD(Git对象库章节会详细说明)。

      

      前面讲解了往Git版本库中提交文件的时候,是分为两个步骤的:

      1:使用 git add 命令添加文件,实际上就是把文件变更添加到 暂存区;

      2:使用 git commit 命令提交,实际上就是把 暂存区 的所有内容都提交到 当前分支;

      因为创建Git版本库时,系统默认创建了唯一一个master分支,所以,git commit 就是往 master 分支上提交。

      可以简单理解为,将需要提交到版本库的的所有文件变更通通放到 暂存区,然后,一次性提交 暂存区 中的所有修改

      

       暂存区 是Git中非常重要的概念,弄明白了暂存区,就弄明白了Git的很多操作到底干了些什么。

     git diff 命令

      故名思意,该命令会对选择的两个不同的根级树对象进行比较。

      通常,git diff 命令进行树的比较时可以通过 提交ID,分支名或者表签名。git diff 命令使用这三种来源的组合进行如下4种基本比较:

      1,git diff

        会显示 工作区暂存区 之间的差异。同时会显示工作区里的变更文件,并把这个变更文件作为下一个提交暂存的候选。

      2,git diff [commit]

        显示 工作区给定提交之间的差异。常见的一种用法是用 HEAD 或者一个特定的分支名。

      3,git diff --cached [commit]

        显示 暂存区 和给定提交之间的差异。如果省略commit,则默认为 HEAD

        在 Git 1.6.1 及以后的版本可以使用同义词 --staged,更容易理解。

      4,git diff [commit1] [commit2]

        显示两个给定提交之间的差异。

        

  • 相关阅读:
    斜率dp cdq 分治
    POJ2449 (k短路)
    BZOJ1576 (最短路+并查集)
    SWUST0249 (凸包面积)
    道路修建 (网络流)
    HDU3930 (原根)
    ZOJ2006 (后缀自动机)
    Codechef2015 May
    后缀自动机
    Digit (数位DP)
  • 原文地址:https://www.cnblogs.com/startcaft/p/6626601.html
Copyright © 2011-2022 走看看