在上一篇简单讲述了文件状态与工作区域,在这里结合相关git命令详细了解文件的状态变更。

目录

1. 介绍

2. 常用命令

3. 实际操作

1. 介绍

git的文件状态是其git核心内容,了解后对后续的操作有莫大的帮助,不同的文件状态又存储在不同的工作区域中。

下面简单的说明这两者:

1.1 文件状态

git中的文件有以下几种状态:

未跟踪(untrack):表示文件为新增加的。

已修改(modified):表示修改了文件,但还没保存到git仓库中。

已暂存(staged):表示对一个已修改文件的当前版本做了标记,使之包含在下次提交的快照中。

已提交(committed):表示文件已保存在git仓库中。

1.2 工作区域

知道了文件状态,也需要知道不同的文件状态存储在不同的工作区域内。

按照本地计算机与远程计算机划分,工作区域有以下几种:

1)本地计算机

Working Directory(工作目录):即正在编辑的文件状态。文件状态为未跟踪(untrack)和已修改(modified)在此区域内。

Staging Area(暂存区):保存了下次将提交的文件列表信息。文件状态为已暂存(staged)在此区域内。

Repository(本地仓库):提交到本地仓库的文件。

2)远程计算机

Repository(远程仓库):已提交到远程计算机内的文件。

1.3 示例图

2. 常用命令

git clone :将远程仓库clone到本地计算机。

git pull :拉取远程仓库的数据。

git status :展示工作区及暂存区域中不同状态的文件。

git add :将内容从工作目录添加到暂存区。

git commit :所有通过 git add 暂存的文件提交到本地仓库。

git push :将本地仓库的记录提交到远程仓库。

git reset HEAD <file> :从暂存区移除指定文件。

git checkout -- <file> :从本地仓库恢复指定文件。

3.实际操作

看完文件状态分类和相关命令后,来一次实际操作。

3.1 初始状态

git clone 一个仓库后,运行 git status

3.2 添加一个文件

在此仓库中添加一个文件a.txt,运行 git status

提示:可以看到文件上方有个 "Untracked files",表示这个文件【未跟踪】。

3.3 新创建的文件添加到【暂存区】

执行 git add a.txt ,将会把新创建的a.txt提交到【暂存区】,执行后运行 git status

提示:文件上方有说明使用 git reset HEAD <file> 可从暂存区移除指定文件。

3.4 【暂存区】的内容提交到【本地仓库】

执行 git commit ,将【暂存区】的内容提交到【本地操作】,执行后运行 git status

3.5 【本地仓库】的内容提交到【远程仓库】

执行 git push,将【本地仓库】的内容提交到【远程仓库】,执行后运行 git status

提示:可以看到提交后git状态又回到初始化状态。

End
菜单加载中...

git 文件状态与工作区域的更多相关文章

  1. eclipse git 文件状态 及git分支的创建与合并与删除

    eclipse里面Git文件状态及图标展示   EGit会出现如下图标,其对应状态及意义如下:      1)忽略[ ignored ]:仓库认为该文件不存在(如bin目录,不需要关注).通过右键Te ...

  2. Git文件状态描述

    检查当前文件状态 [root@typhoeus79 ice_test_m git_test]# git status # On branch master nothing to commit (wor ...

  3. Android Studio配置Git及Git文件状态说明

    Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...

  4. Git 文件状态的转换

    很好低使用git 文件的状态转换的了解是非常重要的. 文件转换状态其实可以分为四种: untracked:未跟踪,此文件在工作区中,但并没有加入git库,不参与版本控制. 通过”git add”,”g ...

  5. Git文件状态

    在Git中,文件状态是一个非常重要的概念,不同的状态对应不同的操作.因此,要想熟练掌握Git的用法,需要了解Git的几种文件状态. Git库所在的文件夹中的文件大致有4种状态: Untracked:未 ...

  6. 1.Git起步-Git的三种状态以及三种工作区域、CVCS与DVCS的区别、Git基本工作流程

    1.Git基础 版本控制系统是一种用于记录一个或多个文件内容变化,以便将来查阅恢复特定版本修订情况的系统. Git是一种分布式版本控制系统(Distributed Version Control Sy ...

  7. 关于Git的工作区域和对应的文件状态.

    Git是一个免费的.分布式的版本控制工具,或是一个强调了速度快的源代码管理工具.每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器. Git ...

  8. GIT文件的三种状态

    对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged).已提交表示该文件已经被安全地保存在本地数据库 中了:已修改表示修改了某 ...

  9. 3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件

    1.检查当前文件状态 --  git status  git diff  git diff --staged   git status :我们可以使用 git status 来查看文件所处的状态.当运 ...

随机推荐

  1. File API文件操作之FileReader二

    上一篇说了FileAPI中FileReader的readAsText,这里继续上文,说说另外一个API readAsDataURL. 这个接口是将File或者Blob读成base64格式的字符串,然后 ...

  2. git常用使用命令

    Git远程操作详解(from 阮一峰) git clone.git remote.git fetch.git pull.git push git拉取远程分支并创建本地分支 git中文学习文档(详细) ...

  3. Mac appium.dmg. Xcode Command Line Tools

    You need to install the command line tools as marked in your message: ✖ Xcode Command Line Tools are ...

  4. App开发 对生命周期的处理

    //获取到当前所在的视图 - (UIViewController *)presentingVC:(UIApplication *)application{ UIWindow * window = ap ...

  5. 【ASP.NET Core分布式项目实战】(三)整理IdentityServer4 MVC授权、Consent功能实现

    本博客根据http://video.jessetalk.cn/my/course/5视频整理(内容可能会有部分,推荐看源视频学习) 前言 由于之前的博客都是基于其他的博客进行开发,现在重新整理一下方便 ...

  6. Centos环境下搭建Asp.NET Core环境和安装Jexus

       .NET Core2.0出来以后,很多公司开始用于实践生产,其中的原因想必大家都明白,最主要的一下几点. 跨平台,能够部署在Linux和Docker容器中 性能优越,测试时Node的20倍左右 ...

  7. 存储库-MongoDB简单的操作

    简介: MongoDB是一款强大.灵活.且易于扩展的通用型数据库 1.易用性 MongoDB是一个面向文档的数据库,而不是关系型的数据库: 不采用关系型主要是为了可扩展性 2.易扩展性 存储在Mong ...

  8. webAPI+angularJS文件上传和下载

    开发框架 前端 angularJS1.6 下载和保存文件FileSaver:https://github.com/eligrey/FileSaver.js/ 后端 .net WebAPI 1 导入Ex ...

  9. Java入门篇(二)——Java语言基础(上)

    本篇我们开始进入Java的学习,首先在学习如何编写Java语言前要先了解Java程序的基本结构. 一.Java程序的基本结构 一个Java程序的基本结构大体可以分为包.类.main()主方法.标识符. ...

  10. ssh爆破篇

    使用pramiko模块 代码图: import paramiko import sys import time def cont(): b=open(sys.argv[1],'r').read().s ...