[Git] 007 三棵树以及向本地仓库加入第一个文件
1. “三棵树”
1.1 前言
- 理论上要稍稍复杂一点
- 我在这里说得简化一点
- 顺道挖个坑
- 下回具体介绍
- 坑号编码:Git07-1
1.2 看图

1.3 简介
- 树左:工作区(平时写代码的地方)
- 树中:暂存区(临时存档;类似图书馆暂存物品的柜子)
- 树右;仓库(存放所有数据的地方;HEAD 的指向为当前版本)
2. 向本地仓库加入文件
2.1 准备
- 切至目标仓库路径
- 新建一个文件(比如,我新建一个 "README.md")

- 此时的 "README.md" 在工作区
2.2 查看状态
- 使用
git status

- 上图大致意思是说
- 当前分支为 "master" 分支
- 目前还没进行过 "commit"
- "README.md" 未被“追踪”(注意,此时的 "README.md" 是红色的)
- 建议使用
git add <file>来提交内容

- 此操作没有回馈(没有消息就是最好的消息)
2.4 继续查看

- 上图大致意思是说
- 当前分支为 "master" 分支
- 目前还没进行过 "commit"
- README.md 可以被“提交”,(注意,此时的 "README.md" 是绿色的)
- 提示
- 命令:
git rm --cached <file> - 作用:将刚刚 "add" 进 "stage" 的文件(改变)“踢出去”
- 命令:
2.5 使用上方提示的命令
- 命令:
git rm --cached README.md

分析
- 工作区的 "README.md" 还在,并且没有改变
- 暂存区刚刚 "add" 进去的 "README.md" 被删除了
- "--cached" 在 [Git] 009 逆转未来 的 "3.2" 还会提到
2.6 恢复
- 重复 "2.3" 的操作
2.7 将文件加入本地仓库
命令:
git commit画面跳转

- 加入解释说明,保存退出(使用 "vi / vim" 的方法)

- 画面跳回

- 上图第 5 行的 "100644"
- "100" 指常规文件
- "644" 指文件权限,详情可见 [Linux] 010 权限管理命令 chmod 的 "chmod" 部分
2.8 最后再查看一下

[Git] 007 三棵树以及向本地仓库加入第一个文件的更多相关文章
- Git创建一个自己的本地仓库
如果我们要把一个项目加入到Git的版本管理中,可以在项目所在的目录用git init命令建立一个空的本地仓库,然后再用git add命令把它们都加入到Git本地仓库的暂存区(stage or inde ...
- [原]git的使用(一)---建立本地仓库、add和commit、status和git diff、版本回退使用git reset
在window下已经安装了git的环境 1.建立本地仓库 mkdir test #建立test目录 cd test #进入目录 git init # ...
- Git 学习(三)本地仓库操作——git add & commit
Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...
- Git学习-安装与创建本地仓库
前言 以前公司进行项目的版本管理都是用svn,最近公司推荐用git,把svn给关闭了.没办法,拿来主义.网上一番猛操作,勉强也能用了,给自己做个笔记. git安装 因为我用的是windos系统,在Wi ...
- 1、git基础介绍及远程/本地仓库、分支
1. Git基础介绍 基于Git进行开发时,首先需要将远程仓库代码clone到本地,即为本地仓库.后续大部分时间都是基于本地仓库上的分支进行编码,最后将本地仓库的代码合入远程仓库. 1.1. 远程仓库 ...
- Git详细教程之创建本地仓库和连接Github仓库
首先要知道不只有代码,任何类型的文件都可以进行版本控制,版本控制很重要的一个特性就是你可以随时修改,比如git会记录你的任何操作,如果你想要回退到任何一个历史操作,你可以通过git轻松达到. 本地仓库 ...
- Git的基本使用 -- 创建本地仓库
下载安装 Git-2.25.0-64-bit .exe 查看是否安装成功 git --version 创建本地仓库 创建一个文件夹用于存放项目文件 在创建好的文件中右键选择 Git Bash Here ...
- 使用Git GUI工具 上传本地仓库到 gitee码云仓库
前言: 网上关于git的命令操作与使用很多教程和博客,在使用git工具时我发现有一个 git Gui 可视化工具,我觉得十分的亲切,由于我之前一直是使用svn作为版本控制管理工具,都是可视化操作,使用 ...
- 删除本地仓库中的lastUpdated文件.bat
@echo off @ ECHO. @ ECHO. @ ECHO. 说 明 @ ECHO ------------------------------------------------------- ...
随机推荐
- 2019 计蒜之道 复赛 B. 个性化评测系统 (模拟,实现,暴搜)
24.02% 1000ms 262144K "因材施教"的教育方式自古有之,互联网时代,要实现真正意义上的个性化教育,离不开大数据技术的扶持.VIPKID 英语 2020 多万学员 ...
- 字符串与List互转
List转字符串,用逗号隔开 List<string> list = new List<string>(); list.Add("a"); list.Add ...
- SpringBoot2 Filter执行两次问题解决
原因:在请求指定url之外还请求了/favicon.ico 地址 过滤掉问题就解决了 @Overridepublic void doFilter(ServletRequest request, Ser ...
- spring security基本知识(二) 自定义认证
配置自定义的用户存储 我们在 SecurityConfig 的配置类中 重写了 configure(AuthenticationManagerBuilder auth) 方法,我们可以通过 Authe ...
- frps启动
1.找到frps.ini文件 find / -name 'frps.ini' 2.窗口启动 ./frps -c ./frps.ini 3.关闭窗口,后台运行 setsid ./frps -c ./ ...
- 043:Django使用原生SQL语句操作数据库
Django使用原生SQL语句操作数据库 Django配置连接数据库: 在操作数据库之前,首先先要连接数据库.这里我们以配置 MySQL 为例来讲解. Django 连接数据库,不需要单独的创建一个连 ...
- 【leetcode】1169. Invalid Transactions
题目如下: A transaction is possibly invalid if: the amount exceeds $1000, or; if it occurs within (and i ...
- flask入门,Hello World!
flask这个框架简单易用,去年2018的使用份额已经快接近django了.入门首选,没有太多的要求. 接下来,写个Hello World吧 1.新手入门,如果你是在windows下使用的,需要先安装 ...
- Win10 设置系统时间
- Mac升级系统后 Pod Install报错-不能用 解决办法
brew reinstall cocoapods brew install ruby brew link --overwrite cocoapods 最近将Mac OS升级到10.15.1 ,再回来初 ...