任何文件在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. Properties集合_练习

    定义功能:获取一个应用程序 运行次数,如果超过5次,给出使用次数已到请注册的提示,并不要再运行程序 思路:  1.定义计数器:每次程序启动都需要计数一次,并且是在原有的次数上进行计数.  2.计数器就 ...

  2. Android AbsListView Abs前缀

    Android AbsListView Abs abstract:抽象

  3. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  4. mysql索引类型-方法-形式-使用时机-不足之处--注意事项

    一.索引的类型 1.普通索引   增加 create  index  index_name on table(colume(length));                       例子:cre ...

  5. MySQL 基础十 性能优化

    1.优化sql 2.建立索引 3.优化表结构,避免多个join查询

  6. MySQL(四)字段及常用函数

    一.字段 数据库表中的每一行叫做一个“记录”,每一个记录包含这行中的所有信息,但记录在数据库中并没有专门的记录名,常常用它所在的行数表示这是第几个记录. 在数据库中存放在表行列交叉处的数据叫做“值”, ...

  7. SkylineGlobe 移动端开发测试

    基于SkylineGlobe提供的安卓版本SDK,在已有菜单中增加自定义内容,测试代码如下: 新增加文件ZhaoHeContainer.java package com.skyline.terraex ...

  8. python 日志

    logger.conf 配置文件 #logger.conf ############################################### [loggers] keys=root,ex ...

  9. 安装Drush工具 -Centos

    Drush可以说是Drupal的瑞士***,只要你使用过一段时间的Drush,一但没有它的话,你会觉得很不方便.可如果通过我在前面博文中所讲的方法来安装Drush的话,是不能够支持Drupal8的,所 ...

  10. CF1070L Odd Federalization 高斯消元

    传送门 \(r = 1\)直接判断所有点度数是否为偶数 考虑\(r = 2\)的情况.设\(x_i=0/1\)表示\(i\)点所在的集合,那么若\(2 \mid du_u\),则\(\bigoplus ...