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基础-查看当前文件状态、跟踪新文件、暂存文件、忽略文件、提交更新、移除文件、移动文件的更多相关文章

  1. git(工作区,暂存区,管理修改,撤销修改,删除文件)

    工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的l ...

  2. Git基础知识之内部状态管理系统

    本文主要来介绍一下 Git 的内部状态管理系统.它利用基于节点和指针的数据结构来跟踪及管理编辑操作的时间线. 对本地项目而言,任一时刻,Git 处于三种状态中的一种:工作区状态.暂存区状态和提交区状态 ...

  3. 4.Git基础-查看提交历史

    1.查看提交历史 --  git log  使用 git log 可以查看到所有的提交(commit)历史. 1. $ git log 列出所有commit,最新的commit在最上面.会显示每个提交 ...

  4. git 填坑之 git 暂存区忽略文件

    今天修改公司项目文件的时候,发现被修改的文件的始终不显示已经被修改. 本来是想要把 KWh 改成 kWh,然后执行 git status 后,没有文件修改记录: 开始分析究竟是因为什么导致的这样诡异的 ...

  5. Git以及github的使用方法(三),git status查看工作区的状态,git diff查看具体修改内容

    我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version c ...

  6. Git 基础 - 查看提交历史

    查看提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源 ...

  7. 一篇长文说 git 基础

    版本管理在产品级开发中是非常重要的一个部分,它涉及到团队协作,且影响到产品最终的发布.上线以及测试环节,当前最流行的版本控制系统是 git.git 内容非常多,本文尽量克制地来介绍 git 的基础内容 ...

  8. git命令--git checkout 之 撤销提交到暂存区的更改

    SYJ@WIN-95I6OG3AT1N /D/gitlab/ihr-kafka-produce (master) $ git status [由于工作区文件被修改了,所以显示为红色] On branc ...

  9. Git教程(3)git工作区与文件状态及简单示例

    基础 目录: working driectory  工作目录,就是我们的工作目录,其中包括未跟踪文件及暂存区和仓库目录. staging area   暂存区,不对应一个具体目录,其实只是git di ...

随机推荐

  1. React,Node.js,Vue,Webkit技术内幕

  2. latex中长公式换行,很好的办法

    今天在编辑公式时,有一个公式很长,写到一行就出去了.当时之前换行都是方程组或者在括号完之后换,都没有问题.但是今天我也换行的是在括号中间断开.这样出现问题,编辑的时候会出错误提醒.上网查了一些论坛,也 ...

  3. killall 、kill 、pkill 命令详解

    killall 命令 Linux系统中的killall命令用于杀死指定名字的进程(kill processes by name).我们可以使用kill命令杀死指定进程PID的进程,如果要找到我们需要杀 ...

  4. 关于top命令的使用

    在服务器运维过程中,我们有时需要知道当前状态下的系统运行性能,该如何获取呢?今天,咱们聊一下关于top这个小命令的一些知识. top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资 ...

  5. Go-技篇第一 技巧杂烩

    Go-技篇第一 技巧杂烩 一句话技巧 把你面向对象的大脑扔到家里吧,去拥抱接口.@mikegehard 学习如何使用Go的方式做事,不要把别的的编程风格强行用在Go里面.@DrNic 多用接口总比少用 ...

  6. bzoj3812&uoj37 主旋律

    正着做不好做,于是我们考虑反着来,如何计算一个点集s的答案呢,一定是所有的方案减去不合法的方案,不合法的方案一定是缩完点后是一个DAG,那么就一定有度数为0的scc,于是我们枚举s的子集,就是说这些点 ...

  7. BZOJ_2058_[Usaco2010 Nov]Cow Photographs_逆序对

    BZOJ_2058_[Usaco2010 Nov]Cow Photographs_逆序对 题意: 奶牛的图片 Farmer John希望给他的N(1<=N<=100,000)只奶牛拍照片, ...

  8. javascript的键盘事件大全

    javascript的键盘事件大全 ------------------------------------------------------------------- 使用event对象的keyC ...

  9. java日志文件用法总结

    1.基本概念 日志门面(接口):commons logging ; slf4j ; 日志具体实现:log4j ; logback(Spring 系列在使用) ; log4j2(添加了异步logger的 ...

  10. 大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)

    第四节  最大似然推导mse损失函数(深度解析最小二乘来源)(2) 上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小,留下了一 ...