git add

git add命令把工作目录下面的有修改的文件添加的index(staging)里面去. git add告诉Git你想在下次commit的时候把什么文件包含进去. 但是, git add没有真正的对仓储有什么大的影响--在commit之前修改没有真正的被记录下来.

在add之前, 可以使用git status来查看工作目录和index区域的状态.

用法

git add <file>

把文件的所有修改加入到index(staging)中, 为了下次commit.

git add <directory>

把文件夹的所有修改加入到index(staging)中, 为了下次commit.

git add -p

会出现一个交互式的界面供你一个个的选择哪些文件要添加到commit中, 哪些不要.  注意了如果文件是untracked的状态, 他不会出现在这个界面中供你选择.

讨论

git add 和 git commit是Git最基本的命令组合.

开发一个项目使用git始终是围绕着"修改/stage/commit"这个模式. 首先, 你在你的本地工作目录编辑文件. 当你准备去保存一个当前项目状态的时候, 使用git add stage修改. 接下来你有了一个stage的快照, 使用git commit提交项目.

git add和svn add非常不同, svn add是把文件添加到仓储. git add是把文件的修改添加到仓储. 这意味着你每次修改文件后需要使用git add, 而svn add只需要为每个文件使用一次就行了.

Staging区

staging区是Git一个很独特的特性. 你可以把他认为是一个本地工作目录到项目历史中间的一个缓存区.

stage能让你组织相关的change到一个快照, 然后再提交到项目的历史里去, 而不是将从上一次commit后的所有change都一次提交. 这样你可以在commit之前利用add组织好一个主题的change然后再commit

例子

当你开始一个新项目的时候, git add可以和和svn import一样.用下面的两行命令为当前的文件夹创建一个初始的commit:

git add .
git commit
git add hello.py
git commit

上面的命令被用来纪录一个已经存在文件的change. Git认为一个新文件和一个已经被加入到仓储后被修改的文件是一样的, 都是change状态. 

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

  1. [译]git的那些flag

    git add -p console有一个交互式的界面(如下图),让你一个一个文件的选择是add还是不add.注意这些文件必须是tracked过的, 也就是说如果你的新的文件从来没有add过,那么他不 ...

  2. git add 命令

    git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件. 注意 -A 选项后面还有一个句点. git add -A表示添加所有内容 ...

  3. git add

    一.前言git add命令主要用于把我们要提交的文件的信息添加到索引库中.当我们使用git commit时,git将依据索引库中的内容来进行文件的提交. 二.基本git add <path> ...

  4. [译]git commit --amend

    git commit --amend命令用来修复最近一次commit. 可以让你合并你缓存区的修改和上一次commit, 而不是提交一个新的快照. 还可以用来编辑上一次的commit描述. 记住ame ...

  5. [译]git reset

    git reset 如果说git revert是一个安全的撤销方式, 那么git reset就是一个非常危险的方法了. 当你使用git reset撤销的时候, 你没有可能在回到最初了-他是一个永久的不 ...

  6. [译]git status

    git status git status命令能展示工作目录和stage区的状态. 使用他你能看到那些修改被staged到了, 哪些没有, 哪些文件没有被Git tracked到. git statu ...

  7. [译]git commit

    git commit git commit命令提交stage区的快照到项目历史中去(HEAD). 被提交的快照被认为是一个项目的安全版本. Git不会修改他们, 除非你显示的要求了. 和git add ...

  8. Git add 常见用法

        Git add   git add [参数]  [--] <路径> //作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用gi ...

  9. git add 命令添加所有改动内容

    git add xx命令可以将xx文件添加到暂存区,如果有很多改动可以通过 git add -A .来一次添加所有改变的文件. 注意 -A 选项后面还有一个句点. git add -A表示添加所有内容 ...

随机推荐

  1. magento app/design/adminhtml/default/default/template/sales/order/view/info.phtml XSS Vul

    catalogue . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Relevant Link: http://www.freebuf. ...

  2. class org.springframework.core.type.classreading.ClassMetadataReadingVisitor has interface org.springframework.asm.ClassVisitor as super class

    今天在工作中遇到了下面的问题: java.lang.IllegalStateException: Failed to load ApplicationContext at org.springfram ...

  3. apache安装错误error: APR not found解决办法

    linux安装时安装种类不同,一些组件包可能不会被安装,导致linux下安装软件的时候缺这个缺那个,今天为大家介绍linux安装apache时报apr找不到的解决办法 方法/步骤   下载依赖包 wg ...

  4. css006 文本格式化

    css006 文本格式化 文本格式化:字体(font-family).颜色(color).字号(font-size). 行距(line-height).粗体(font-weight).斜体(font- ...

  5. sql 查询每月的销售金额

    sql 数据分月统计,表中只有每天的数据,现在要求求一年中每个月的统计数据(一条sql) SELECT   MONTH (  那个日期的字段  ),   SUM(  需要统计的字段, 比如销售额什么的 ...

  6. iterator and iterable

    前者是迭代器 后者是接口,List等继承这个接口

  7. Tomcat web.xml中定义了文件扩展名到MIME类型的对应关系

    Tomcat在返回静态资源时,会根据资源文件的扩展名产生对应的content-type头(也即MIME类型)添加到response header中. 在Tomcat的web.xml规定了扩展名及相应M ...

  8. css div垂直居中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. php上传$_FILES 无法取值

    无法取值的主要原因在form. 代码 <form method="post" action="****" name="theForm" ...

  10. git之https或http方式设置记住用户名和密码的方法

    https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速 设置记住密码(默认15分钟): git config --global credenti ...