git 的工作区、暂存区、本地仓库、远程仓库,形象的图解如下:

上图来源:菜鸟教程——Git基本操作

workspace:工作区,平时存放代码的位置
staging area:暂存区/缓存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
local repository:本地仓库,就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
remote repository:远程仓库,托管代码的服务器

代码从修改到提交到远程仓库,一般需要经历如下5个状态:未修改,已修改,已暂存,已提交,已推送。如下所示:

未修改原始内容
已修改    ↓   工 作 区
已暂存    ↓    git add暂 存 区
已提交    ↓    git commit本地仓库
已推送    ↓    git push远程仓库

涉及的相关命令如下:

  • git commit:是将本地修改过的文件提交到本地库中
  • git push:是将本地库中的最新信息发送给远程库
  • git fetch:是从远程获取最新版本到本地,不会自动merge
  • git merge:是用于从指定的commit(s)合并到当前分支,用来合并两个分支
  • git pull:是从远程获取最新版本到本地,并自动merge,它相当于 git fetch + git merge
  • git checkout . :(冒号前的"."是通配符)或 git checkout -- <file>,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动
  • git checkout HEAD . :或者 git checkout HEAD <file> 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动
  • git rm --cached <file>:会直接从暂存区删除文件,工作区则不做出改变
  • git reset HEAD:暂存区的目录树会被重写,被 master 分支指向的目录树所替换,但是工作区不受影响(详见:git reset 的3种用法)

参考:

  • Git 工作区、暂存区和版本库
  • 菜鸟教程,git 工作区概念
  • 【Git】(1)—工作区、暂存区、版本库、远程仓库
  • 一个小时学会 git

图解 git 仓库概念相关推荐

  1. (二)深入浅出图解Git,入门到精通(保姆级教程)

    上一篇原创写了图解Git的第一篇,个人感觉还是可以,比较基础的那种,有兴趣的可以看一看[],这一篇我们继续图解Git,上一篇基本就是基础,这一篇算是进阶. 分支管理 Git中比较最重要的一点就是分支的 ...

  2. (一)深入浅出图解Git,入门到精通(保姆级教程)

    Git简介 在我们的认知范围Git和SVN都是对于代码托管的工具,那么这两者又有什么不同呢? Git是世界上先进的「分布式的版本控制系统」,而SVN是「集中式的版本控制系统」,SVN对于版本的管理集中 ...

  3. git仓库相关知识01-安装和基本命令

    一 .git工作流程 Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必 ...

  4. 使用AI在原神里自动钓鱼,扫描Git仓库泄露的密码 【Github热榜周刊第三期】

    大家好,这里是的Github精彩项目分享周刊,我是每周都在搬砖的蛮三刀酱. 我会从Github热门趋势榜里选出 高质量.有趣,牛B 的开源项目进行分享. 榜单取自实时Github Trending排行 ...

  5. linux centos7安装git服务器配置,CentOS7 Linux环境下搭建Git仓库

    1.安装依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel 2.安装Git ...

  6. 图解 Git 工作原理

    来源:深度学习爱好者本文约2600字,建议阅读5分钟本文图解Git中的最常用命令.如果你稍微理解Git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索 ...

  7. 图解 Git 工作原理,看完你就懂了!

    本文图解Git中的最常用命令.如果你稍微理解Git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 上面的四条命令在工作目录.暂存目录(也叫做索引)和仓库之间复制文件. git add files ...

  8. 微软开源Scalar,提升操作巨型Git仓库的速度

    Git 属于分布式版本控制系统,默认情况下,每个 Git 仓库都具有整个历史记录的完整文件副本.即便是中等规模的开发团队也会产生数千个提交,每个月向仓库添加几百兆的数据. 而随着仓库的占用空间增加,G ...

  9. 收藏 | 图解 Git 工作原理

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:深度学习这件小事 http://marklodato.github.io/visual-git-guide/i ...

最新文章

  1. A - 排名 HDU - 1236 sort(cmp)
  2. 大脑使用交叉存储,来区分现在和过去
  3. uniapp 界面拖动,去掉半圆形阴影
  4. jquery getJSON 中对超时Timeout的处理
  5. centos7.4php测试,CentOS7.4 通过yum安装php7.0
  6. linux清理缓存_自动清理linux系统内存和Cache方法
  7. EditPlus Version 3 价格 代理商 销售价格 正版软件价格
  8. 基于Android的虚拟校园移动学习系统
  9. 中兴a2018拆机图片_中兴a2s拆机视频
  10. vue实用echart饼图legend显示百分比
  11. 设备管理之I/O系统
  12. 十进制与8421码、5421码、2421码、余3码之间的转换
  13. 石墨计算机,电脑CPU可不可以用石墨做?
  14. 将 C# .NET ( Core Framework ) WPF Winform 项目打包成单个 exe 可执行文件
  15. javaWeb用户注册之用户名、密码、邮箱验证例题
  16. Win11 中【使用我的登录信息在更新后自动完成设置】以 「登录前自启」
  17. 几种swf格式视频转换器简介
  18. Apache服务器的启动方法
  19. 一键搭建网站(网站源码)
  20. 自动驾驶:车辆转弯半径计算

热门文章

  1. pandas美国人口分析实例
  2. (附源码)基于SSM框架的图片分享及评价网站设计与实现 毕业设计201524
  3. 股票自选股基本函数大全-1
  4. Linux内核设计与实现 第19章 可移植性
  5. 数字证书、CA、CA证书、SSL证书、CA锁 简单介绍
  6. 穷爸爸,富爸爸学习笔记
  7. 前端---HTML5如何制作一个折线图
  8. USRP硬件平台介绍
  9. 4G模组通信配置相关概念及流程
  10. Oracle 性能优化总结