参考源

https://www.bilibili.com/video/BV1FE411P7B3?spm_id_from=333.999.0.0

版本

本文章基于 Git 2.35.1.2


文件的四种状态

版本控制就是对文件的版本控制

要对文件进行修改、提交等操作,首先要知道文件当前在什么状态。

不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

Git 管理的文件有四种状态:

Untracked:未跟踪

此文件没有加入到 Git 库,不参与版本控制。

通过 git add 变为 Staged 状态。

Unmodify:未修改

文件加入了 Git 库,未修改。

版本库中的文件快照内容与文件夹中完全一致。

这种类型的文件有两种去处:

  • 如果它被修改,而变为Modified。
  • 如果使用 git rm 移出版本库,则变为 Untracked 状态。

Modified:已修改

仅仅是修改,并没有进行其他的操作。

这个文件也有两个去处:

  • 通过 git add 可进入 **Staged **状态。
  • 使用 git checkout 放弃修改,返回到 Unmodify 状态。

git checkout 是从库中取出文件,覆盖当前修改。

Staged:暂存

执行 git commit 将修改同步到库中。

这时库中的文件和本地文件又变为一致,文件为 Unmodify 状态。

执行 git reset HEAD filename 取消暂存,文件为 Modified 状态。

查看文件状态

查看指定文件状态

git status [filename]

查看所有文件状态

git status

忽略文件

有时候我们不想把某些文件纳入版本控制中,比如数据库文件、临时文件、设计文件等。

在主目录下建立 .gitignore 文件,此文件有如下规则

  • 忽略文件中的空行或以 # 开始的行将会被忽略。
  • 可以使用 Linux 通配符。例如:***** 代表任意多个字符,? 代表一个字符,[ ] 代表可选字符范围,{ } 代表可选的字符串。
  • 如果名称的最前面有一个 !,表示例外规则,将不被忽略。
  • 如果名称的最前面是一个 /,表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  • 如果名称的最后面是一个 /,表示要忽略的是此目录下的所有文件。
*.txt        # 忽略所有 .txt 结尾的文件,这样的话上传就不会被选中。
!lib.txt # lib.txt 除外
/temp # 仅忽略项目根目录下的 temp 文件,不包括其它 temp 目录。
build/ # 忽略 build/ 目录下的所有文件。
doc/*.txt # 忽略 doc/notes.txt 但不包括 doc/server/arch.txt。

Git 05 文件操作的更多相关文章

  1. Git 获取文件操作

    1. 在本地新建存放源代码的文件夹: 2. 进入文件夹下,右击选择 Git Bash Here ,弹出git命令行窗口: 3. 运行指定 git init,初始化git: 4. git  remote ...

  2. Git删除文件操作

    使用Git删除文件需要使用Git rm命令来实现,最后git commit 需要注意的是直接rm命令删除后是不可以的,可以用git status 命令尝试一下,效果如图下(创建了test文件,演示了g ...

  3. Git:文件操作和历史回退

    目录 创建仓库 创建文件/文件夹 修改文件/文件夹 回到修改前的版本 撤销修改 删除文件 工作区.暂存区.版本区 创建仓库 创建新文件夹:mkdir learngit 进入:cd learngit l ...

  4. git忽略文件不起作用时

    开始我是直接进到仓库建立了.gitignore文件,再从仓库进入到项目add时总是会添加不需要添加的文件, 后来明白应该是在哪里提交在哪里创建.gitignore文件 git忽略文件操作步骤如下: 1 ...

  5. git初体验(二)基础git文件操作

    文件操作续 忽略一些文件 只需在主目录下建立".gitignore"文件,注意新建的是文件而非文件夹,在win窗口中不能建立以.开头的文件,只能在dos下: E:\knowcars ...

  6. [git] 文件操作

    文件操作 1.  git  add 1.1 将未被git管理的文件添加到暂存区 一次可添加多个文件 文件夹,中间用空格隔开 git  add  文件/文件夹  文件/文件夹 再次执行 git  sta ...

  7. GIT → 05:Git命令行操作

    5.1 打开命令行窗口 安装Git后,在资源管理器的空白处,单击鼠标右键打开窗口,点击 Git Bash Here ,打开Git命令行窗口,在窗口中可直接使用Linux命令操作: 5.2 初始化Git ...

  8. git文件操作

    git下载地址: https://git-scm.com/download mac 直接使用brew下载brew install git 1Git一般工作流程: 1.在工作目录创建版本库 2.在工作目 ...

  9. 本地Git项目搭建和文件操作

    Git项目搭建 git init ---在该文件夹下进入cmd/terminal git clone [url] ---克隆远程仓库到本地 Git文件操作 文件的四种状态: · Untracked:未 ...

随机推荐

  1. 场景实践:基于 IntelliJ IDEA 插件部署微服务应用

    体验简介 阿里云云起实验室提供相关实验资源,点击前往 本场景指导您把微服务应用部署到 SAE 平台: 登陆 SAE 控制台,基于 jar 包创建应用 基于 IntelliJ IDEA 插件更新 SAE ...

  2. 为什么Java有了synchronized之后还造了Lock锁这个轮子?

    众所周知,synchronized和Lock锁是java并发变成中两大利器,可以用来解决线程安全的问题.但是为什么Java有了synchronized之后还是提供了Lock接口这个api,难道仅仅只是 ...

  3. Django虚拟环境详解

    Django虚拟环境之 Virtualenv 1.安装 pip install virtualenv 2.创建虚拟环境 创建虚拟环境文件夹在当前目录 virtualenv [env_name] 3.激 ...

  4. Linux离线包管理器RPM

    Linux离线包管理器RPM RPM 是RedHat Package Manager(RedHat软件包管理工具). 1.rpm常用参数介绍 查看rpm是否安装 rpm -q rpm包名 [root@ ...

  5. LVGL库入门教程02-基本控件与交互

    LVGL 本质上是一个 GUI 库,它包含大量的控件(widget),即按钮.标签.滑块.菜单栏这种具有一定人机交互特征的组合图形.LVGL 在设计时,采用了一定面向对象编程的设计思路,有效降低了代码 ...

  6. iNeuOS工业互联网操作系统,增加搜索应用、多数据源绑定、视图背景设置颜色、多级别文件夹、组合及拆分图元

    目       录 1.      概述... 2 2.      搜索应用... 2 3.      多数据源绑定... 3 4.      视图背景设置颜色... 4 5.      多级别文件夹 ...

  7. 简单性能测试:springboot-2.x vs actix-web-4.x benchmark

    性能测试:springboot-2.x vs actix-web-4.x benchmark 转载请注明出处 https://www.cnblogs.com/funnyzpc/p/15956465.h ...

  8. Excel表函数自动生成SQL

    前言 在平常的工作中,多多掌握一点这样的小技巧,能够帮助我们省去很多时间: 1.数据库对应的表如下: 2.excel中需要导入的数据如下: 3.excel中sql的写法: ="insert ...

  9. 初学python常用,python模块安装和卸载的几种方法

    兄弟们常常因为遇到模块不会安装,或者遇到报错就懵了,就很耽误学习进度,今天我们就一次性了解Python几种安装模块的方法~不过~ 实在是懒得看 点击此处找管理员小姐姐手把手教你安装 一.命令提示符窗口 ...

  10. Linux下修改RabbitMQ密码

    1,首先查看用户列表 rabbitmqctl list_users 2,修改对应用户密码 其中username 为用户名, newpasswd为新密码 rabbitmqctl change_passw ...