任何文件在Git库中都有四种状态:未跟踪状态untracked、跟踪状态tracked(未修改状态unmodified、已修改状态modified、暂存状态staged),由于文件的上述四种状态,在使用Git进行项目管理的时候涉及到三个区域:

(1)Git 本地数据目录:每个项目都有一个 git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。

(2)工作目录(项目工作空间):从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录,即就是我们进行项目开发的目录。

(3)暂存区域:所谓的暂存区域只不过是个简单的文件,一般都放在 git 目录中。

Git本地仓库的基本用法

     ① git init :初试化当前目录为一个Git本地仓库。
     ② git add : 如果一个文件是未被跟踪的,将 一个文件加入到Git版本控制当中,让Git对其进行跟踪;如果一个文件是已修改状态,则将一个文件放到暂存区中。
                git add .  :  "."点表示当前目录下的所有内容
     ③ git status : 查看当前Git仓库中所有文件的状态,若是为跟踪状态 则用红色显示。
     ④ git diff:比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
     ⑤ git commit:提交暂存区域。
               git commit -m <说明信息>
               git commit -a 可以跳过暂存区域,直接将已跟踪的文件暂存起来一并提交。
     ⑥ git rm :从Git中删除一个文件。
               git rm --cached :从暂存区删除一个文件,但是仍保留在工作目录中。也就是将文件变为未跟踪状态。
     ⑦ git log:查看项目提交历史记录。
               git log -p 选项展开显示每次提交的内容差异
               git log --stat 仅显示简要的增改行数统计
               git log --pretty=

,其中option可以是:oneline(使每条历史信息在一行中显示),short,full,fuller,format(按指定的格式输出)

               gitk 可以打开历史记录的可视化查看窗口。
     ⑧ git commit --amend:修改最后一次提交。该命令是提交当前缓存区快照,并修改最后一次的说明。
     ⑨ git checkout -- :撤销对文件的修改,慎用!   
     ⑩ git reset HEAD :撤销对文件的暂存,让文件回到暂存前的状态。

git心得与总结的更多相关文章

  1. 自学git心得-2

    趁着最近还没忙起来,抓紧更新一下学习心得. 现在的情景是,我们已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备 ...

  2. 第一次使用Git心得体会

    用书本上的概念讲,Git是一个分布式的版本控制工具,每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,能够不依赖于网络和中心服务器.也就是说Git能够不需要服务器而在 ...

  3. git心得

    使用Git得到了以下体会: github在新的目录下添加新的文件 git init //在相应的目录下添加 git add //添加目录 git commit -m "first commi ...

  4. 自学git心得-5

    标签管理也是git里面比较重要的一部分内容,我们下载软件的时候经常看到诸如v2.0.v2.3.0这样的版本号,在git里也是一样,有时为了避免分支的名称五花八门而发生混淆的情况,我们常常会 给分支贴上 ...

  5. 自学git心得-4

    本节介绍分支的一些具体应用实例. 1.Bug分支 设想我们正在分支dev上工作,突然接到一个修复bug的命令,我们需要创建分支issue-101来修复它,在此之前我们肯定需要先保存我们当前未完成的工作 ...

  6. 自学git心得-3

    转眼到第三节了,我们进入分支管理. git领域里的分支可以理解为一个有安全保障的临时仓库,有时我们新修改了代码,突然发现有bug需要回到之前的版本,有时我们开发到一半,突然要出去一趟,如何安全保存当前 ...

  7. 自学git心得-1

    Github作为目前世界上最先进的分布式版本控制系统,是软工工作者管理工程代码的不二选择,笔者也是因时所需,自学了基本的git操作,在此回顾一下也作为分享. 推荐学习资源:https://www.li ...

  8. 软工实践练习一 git使用心得

    使用git进行代码管理的心得 小组 1.结对的同学创建了小组,我属于被邀请的.附上图片一张. 2.已将代码库https://github.com/sefzu2015/AutoCS fork到了小组or ...

  9. Git学习笔记(Mac Linux系统)

    最近参与学校一个比赛,和队友一起做一个小项目,需要将代码传到Coding(国内git代码托管平台),因此这几天才正式入手git版本控制系统,在这里我就记录一下最近的学习git心得体验,一来分享一下自己 ...

随机推荐

  1. Python数据分析实例操作

    import pandas as pd #导入pandas import matplotlib.pyplot as plt #导入matplotlib from pylab import * mpl. ...

  2. 【转】BAT批处理中的字符串处理详解(字符串截取)

    下面对这些功能一一进行讲解. 1.截取字符串 截取字符串可以说是字符串处理功能中最常用的一个子功能了,能够实现截取字符串中的特定位置的一个或多个字符.举例说明其基本功能: @echo off set ...

  3. ethereum/EIPs-607 Hardfork Meta: Spurious Dragon硬分叉相关

    eip title author type status created requires 607 Hardfork Meta: Spurious Dragon Alex Beregszaszi Me ...

  4. P2731 骑马修栅栏 欧拉函数

    题目背景 Farmer John每年有很多栅栏要修理.他总是骑着马穿过每一个栅栏并修复它破损的地方. 题目描述 John是一个与其他农民一样懒的人.他讨厌骑马,因此从来不两次经过一个栅栏.你必须编一个 ...

  5. 编写简单Linux内核模块

    模块代码如下 //main.c #include <linux/kernel.h> #include <linux/module.h> #include <linux/i ...

  6. Luogu P1962 斐波那契数列(矩阵乘法模板)

    传送门(其实就是求斐波那契数列....) 累了 明天再解释 做这道题需要一些关于矩阵乘法的基础知识. 1. 矩阵乘法的基础运算 只有当矩阵A的列数等于矩阵B的行数时,A与B可以相乘(A的行数不一定等于 ...

  7. Mybatis学习总结(三)——SqlMapConfig.xml全局配置文件解析

    经过上两篇博文的总结,对mybatis中的dao开发方法和流程基本掌握了,这一节主要来总结一下mybatis中的全局配置文件SqlMapConfig.xml在开发中的一些常用配置,首先看一下该全局配置 ...

  8. CF28D Don't fear, DravDe is kind 背包

    题目传送门:http://codeforces.com/problemset/problem/28/D 题意:给你$N$个物品,每个物品有其价格$P_i$,之前必须要买的物品价格和$L_i$,之后必须 ...

  9. Adobe PhotoshopCC2017 安装与破解(Mac)

    简单说明下Adobe Photoshop CC 2017的破解方法: 1.打开dmg镜像,双击“Install”进行安装,登陆Adobe ID(没有注册一个)完成安装: 2.解压缩“Adobe Zii ...

  10. WPF 滚动文字控件MarqueeControl

    原文:WPF 滚动文字控件MarqueeControl WPF使用的滚动文字控件,支持上下左右滚动方式,支持设置滚动速度 XAML部分: <UserControl x:Class="U ...