git status

git status命令能展示工作目录和stage区的状态. 使用他你能看到那些修改被staged到了, 哪些没有, 哪些文件没有被Git tracked到. git status不显示已经commit到项目历史中去的信息. 看项目历史的信息要使用git log.

用法

git status

列出哪些文件被staged了, 哪些文件没有被staged到, 哪些文件没有被tracked到.

讨论

git status相对来说是一个简单的命令. 他简单的展示状态信息. 输出的内容分为3个分类/组

# On branch master
# Changes to be committed: (已经在stage区, 等待添加到HEAD中的文件)
# (use "git reset HEAD <file>..." to unstage)
#
#modified: hello.py
#
# Changes not staged for commit: (有修改, 但是没有被添加到stage区的文件)
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
#modified: main.py
#
# Untracked files:(没有tracked过的文件, 即从没有add过的文件)
# (use "git add <file>..." to include in what will be committed)
#
#hello.pyc

Ignoring Files

没有tracked的文件分为两类. 一是已经被放在工作目录下但是还没有add的, 另一类是一些编译了的程序文件(如 .pyc .obj .exe等). 一旦这些我们不想add的文件一多起来, git status的输出简直没法看, 一大堆的状态信息怎么看?

基于这个原因. Git让我们能在一个特殊的文件.gitignore中把我们要忽略的文件放在其中. 每一个想忽略的文件应该独占一行, *这个符号可以作为通配符使用. 例如在项目根目录下的.gitignore文件中加入下面内容能阻止.pyc文件出现在git status中:

*.pyc

例子

在每次commit之前先使用git status检查文件状态是一个很好的习惯, 这样能防止你不小心commit了你不想commit的东西. 下面的例子展示stage 前后的状态, 并最后commit一个快照.

# Edit hello.py
git status
# hello.py is listed under "Changes not staged for commit"
git add hello.py
git status
# hello.py is listed under "Changes to be committed"
git commit
git status
# nothing to commit (working directory clean)

第一个状态输出显示了这个文件没有staged. git add将影响第二个git status的输出, 最后一个git status告诉我们没有什么能commit了—工作目录已经和最近的commit相匹配了. 有些命令 (如, git merge) 要求工作目录是clean状态, 这样就不会不小心覆盖更新了.

[译]git status的更多相关文章

  1. 使用git status快速commit

    提交之前使用git status可以看到将要提交的文件,如果想部分提交,需要单独commit.使用下面这句可以快速commit git commit `git status | grep 'mod' ...

  2. [译]git clean

    git clean命令用来从你的工作目录中删除所有没有tracked过的文件. git clean经常和git reset --hard一起结合使用. 记住reset只影响被track过的文件, 所以 ...

  3. [译]git log

    git log git log命令用来显示提交的快照. 能列出来你项目的历史, 能过滤和搜索你指定的一些修改. git status能让你检查工作目录和stage区的状态, git log只提供被co ...

  4. [译]git add

    git add git add命令把工作目录下面的有修改的文件添加的index(staging)里面去. git add告诉Git你想在下次commit的时候把什么文件包含进去. 但是, git ad ...

  5. git status message - Your branch is ahead of origin/master by X commits

    git reset --hard origin/master git status FAQ: When I issue the "git status" command, I se ...

  6. git status 不可全信

    不要相信git status,除非在操作的过程中, 看git仓库和本地.git之间的差异 -比如我现在在github上某个分支下上传了某个文件,但我在本地git status显示的还是working ...

  7. git status对应中文名称

    git status显示出来的中文文档是一串字符码,不能正常识别 git config --global core.quotepath false 这一句代码就可以帮你

  8. 关于git status

    如果只在本地修改,还没有commit,那么用git status, 打印信息为: 如果我本地没有修改文件,就是:

  9. git status简介

    git status命令可以列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件.. 比如; git status # On branch maste ...

随机推荐

  1. POJ 2236 Wireless Network(并查集)

    传送门  Wireless Network Time Limit: 10000MS   Memory Limit: 65536K Total Submissions: 24513   Accepted ...

  2. MAC中Django中runserver提示Can't connect to local MySQL server through socket '/tmp/mysql.sock错误

    好像不止遇到一次,直接Google就可以了,在stackoverflow中就有答案,答案就是你没有开MySQL - -. stackoverflow链接见 http://stackoverflow.c ...

  3. 高可用与负载均衡(1)之linux系统的数据链路层负载均衡

    preface 在蓝厂就职到时候,每台缓存服务器都能够跑到2G的流量,这么大的流量,有人会问,服务器是不是安装的万兆网卡,no no no,仅仅是3张千兆网卡绑定在一块.万兆网卡的服务器少见,大多数都 ...

  4. map转json

    if (javaObject instanceof Map) { Map<Object, Object> map = (Map<Object, Object>) javaObj ...

  5. EasyUI——常见用法总结

    1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我们可以对easyui组件的实例化可以完全写 ...

  6. easyUI的控件

    CSS类定义: div easyui-window                               window窗口样式 属性如下: 1)       modal:是否生成模态窗口.tru ...

  7. Javascript 与正则表达式

    一.正则表达式(regular expression简称res) 二.元字符及其在正则表达式上下文中的行为 三.正则表达式的常用方法 四.与正则表达式有关的字符串对象的方法 五.常用的正则表达式的操作 ...

  8. 【原】CSS3 Media在常用设备的设置值

    摘要:今天的一个小小的项目中,在各种手机上样式都显示正常,唯独iphone4s的有些许问题.产品经理又说iphone4s用户还挺多的,无奈,只能查一查iphone4s的media值,顺便做个小小总结; ...

  9. 创建一个应用台程序,声明一个 int变量,并且初始化数组,通过while语句输出数组内的所有成员。

    ]{,,,,}; ; ) { Console.WriteLine("myNum[{0}]的值为{1}", s,myNum[s]); s++; } Console.ReadLine( ...

  10. Android学习笔记——Handler(一)

    使用Handler管理线程(转) 步骤: 1. 申请一个Handler对象 Handler handler = new Handler(); 2. 创建一个线程 {继承Thread类或者实现Runna ...