3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件
1.检查当前文件状态 -- git status git diff git diff --staged
git status :我们可以使用 git status 来查看文件所处的状态。当运行 git status 之后,出现类似下面输出:
$ git status
On branch master
nothing to commit, working directory clean
说明,现在的工作目录非常干净,换句话说,所有的已跟踪文件在上次提交之后都未被修改过。
如果你想要知道具体修改了什么地方,可以使用 git diff 命令。
1. git diff :查看尚未暂存的文件更新了哪些部分。
2. git diff --staged :查看已暂存的文件更新了哪些部分。
2.跟踪新文件 -- git add
当在工作目录新建一个文件,运行 git status ,会显示这个文件是untracked状态。这时候需要使用 git add 将这个文件加入暂存区,也就是告诉Git需要去跟踪这个文件。
git add 使用文件或者目录的路径作为参数;如果参数是目录的路径,那么将该目录下所有的文件加入暂存区,Git将会跟踪这个目录下面的所有文件。
3.暂存已修改文件 -- git add --(可以将这个命令理解为:添加内容到下一次commit中)
当修改了Git追踪的一个文件之后,运行 git status 会看到 Changes not staged for commit ,说明已跟踪的文件发生了变化但是还没有被加入到暂存区,这时候需要运行 git add 将该文件放入暂存区。
git add 是一个多功能命令:
1.使用它跟踪新文件;
2.将已跟踪的文件加入到暂存区;
3.还能用于合并时将有冲突的文件标记为已解决的状态。
注意: git commit 只会讲暂存区的文件提交到Git仓库中,不在暂存区中的文件是不会被提交的。比如:当你运行 git add README 之后,将README文件加入了暂存区,这时候你又修改了README文件,但是没有运行 git add ,这时候如果直接提交,那么只会讲暂存区中的README版本的文件提交到Git仓库。你对README新做的修改不会被提交到Git仓库。
4.忽略文件 -- .gitignore文件
一般我们总会有一些文件不想纳入Git进行管理,同时也不希望他们总出现在未跟踪文件列表。这时候只需要在.gitignore文件中指定这些你不想被Git进行管理的文件,这样一来当你在提交代码到远程仓库的时候也就不会将这些文件上传上去了。GitHub 有一个十分详细的针对数十种项目及语言的 .gitignore 文件列表,你可以在https://github.com/github/gitignore找到它.
5.提交更新 -- git commit
在暂存区准备完毕之后,就可以commit了。注意:在提交之前一定要确认还有什么没有修改过的活新建的文件还没有 git add 过,否则commit的时候不会记录这些还没暂存起来的变化,这些修改过的文件只会保留在本地磁盘(也就是工作区)。在每次提交之前,可以使用 git status 查看一下,文件是不是已经都暂存起来了。
1. git commit 如果不指定-m参数,那么git会打开一个编辑器,让你输入提交信息。
2. git commit -m <info> 指定-m参数,可以在后面直接指定提交信息。(推荐使用)
3. git commit -a -m <info>有时候,在修改某一个已经被track的文件之后,可以直接使用 git commit -a -m "info" 跳过add步骤而将这个文件提交。
注意:这条命令会将已经被track的文件加入到暂存区,然后进行提交;对于没有被track的文件(例如新添加的文件),在修改之后是不能使用这条命令直接进行提交的。
commit记录的是放在暂存区域的快照,每一次提交操作都是对项目做一次快照,以后可以回到这个状态,或者进行比较。
6.移除文件 -- git rm
执行以下命令:删除一个文件。
$ git rm <filename>
$ git commit -m <info>
如果被删除的文件修改过,而且已经被放入了暂存区,那么需要加上 -f 参数,强制删除。这是一种安全特性,用于防止删除还没有被添加快照的数据,这种数据无法被Git恢复。
如果你只是想从暂存区删除文件,但是工作区的文件保持不变(将文件保存在磁盘),也就是说将文件保存在磁盘但是不想让Git进行跟踪,使用如下命令即可:
$ git rm --cached <filename>
7.移动文件 -- git mv
可以使用 git mv 来讲文件重命名。命令格式如下:会将oldFile重新命名为newFile
$ git mv <oldFile> <newFile>
这条命令会:1.将文件改名;2.将改名之后的文件add进暂存区。等价于下面三条命令。
$ mv oldFile newFile
$ git rm oldFile
$ git add newFile
3.Git基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件的更多相关文章
- git(工作区,暂存区,管理修改,撤销修改,删除文件)
工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的l ...
- Git基础知识之内部状态管理系统
本文主要来介绍一下 Git 的内部状态管理系统.它利用基于节点和指针的数据结构来跟踪及管理编辑操作的时间线. 对本地项目而言,任一时刻,Git 处于三种状态中的一种:工作区状态.暂存区状态和提交区状态 ...
- 4.Git基础-查看提交历史
1.查看提交历史 -- git log 使用 git log 可以查看到所有的提交(commit)历史. 1. $ git log 列出所有commit,最新的commit在最上面.会显示每个提交 ...
- git 填坑之 git 暂存区忽略文件
今天修改公司项目文件的时候,发现被修改的文件的始终不显示已经被修改. 本来是想要把 KWh 改成 kWh,然后执行 git status 后,没有文件修改记录: 开始分析究竟是因为什么导致的这样诡异的 ...
- Git以及github的使用方法(三),git status查看工作区的状态,git diff查看具体修改内容
我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...
- Git 基础 - 查看提交历史
查看提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源 ...
- 一篇长文说 git 基础
版本管理在产品级开发中是非常重要的一个部分,它涉及到团队协作,且影响到产品最终的发布.上线以及测试环节,当前最流行的版本控制系统是 git.git 内容非常多,本文尽量克制地来介绍 git 的基础内容 ...
- git命令--git checkout 之 撤销提交到暂存区的更改
SYJ@WIN-95I6OG3AT1N /D/gitlab/ihr-kafka-produce (master) $ git status [由于工作区文件被修改了,所以显示为红色] On branc ...
- Git教程(3)git工作区与文件状态及简单示例
基础 目录: working driectory 工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area 暂存区,不对应一个具体目录,其实只是git di ...
随机推荐
- selenium--unittest 框架/selenium--常见异常
selenium常见异常 from selenium import webdriver from selenium.webdriver.common.by import By from seleniu ...
- Java 读书笔记 (十二) Java Character 类
在实际开发过程中, 我们经常会遇到需要使用对象,而不是内置数据类型的情况. 为了解决这个问题, Java语言为内置数据类型char提供了包装类Character类. 可以使用Character的构造方 ...
- mysql运维必会的一些知识点整理
(1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld start service mysqld start systemctl start mysqld 2.检测端口是 ...
- 在 Java 中运用动态挂载实现 Bug 的热修复
大多数 JVM 具备 Java 的 HotSwap 特性,大部分开发者认为它仅仅是一个调试工具.利用这一特性,有可能在不重启 Java 进程条件下,改变 Java 方法的实现.典型的例子是使用 IDE ...
- VMware workstation的基础使用
1. VMware workstation虚拟化平台简介2. VMware workstation提供网络资源3. VMware workstation提供存储资源4. VMware workstat ...
- HTML——元素
HTML 元素 HTML 文档由 HTML 元素定义. HTML 元素 开始标签 * 元素内容 结束标签 * <p> 这是一个段落 </p> <a href=" ...
- CentOS 7.6 使用kubeadm安装Kubernetes 13
实验环境:VMware Fusion 11.0.2 操作系统:CentOS 7.6 主机名 IP地址 CPU 内存 k8s2m 172.16.183.151 2核 4G k8s2n 172.16.18 ...
- 你真的了解字典(Dictionary)吗?
从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点. 为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路 ...
- 小步快跑的公司可以最简化操作直接通过log4net将日志写入ElasticSearch
很多小步快跑的公司,开发人员多则3-4个,面对巨大业务压力,日连夜的赶着上线,快速试错,自然就没时间搭建一些基础设施,比如说logCenter,但初期 项目不稳定,bug又多,每次都跑到生产去找日志 ...
- spring boot整合spring5-webflux从0开始的实战及源码解析
上篇文章<你的响应阻塞了没有?--Spring-WebFlux源码分析>介绍了spring5.0 新出来的异步非阻塞服务,很多读者说太理论了,太单调了,这次我们就通过一个从0开始的实例实战 ...