• git add 命令详解


    一、前言
    git add命令主要用于把我们要提交的文件的信息添加到索引库中。当我们使用git commit时,git将依据索引库中的内容来进行文件的提交。
    二、基本
    git add <path>表示 add to index only files created or modified and not those deleted
    我通常是通过git add <path>的形式把我们<path>添加到索引库中,<path>可以是文件也可以是目录。
    git不仅能判断出<path>中,修改(不包括已删除)的文件,还能判断出新添的文件,并把它们的信息添加到索引库中。
    三、git add -u
    git add -u 表示 add to index only files modified or deleted and not those created
    git add -u [<path>]: 把<path>中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。
    省略<path>表示.,即当前目录。
    四、git add -A
    git add -A: [<path>]表示把<path>中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
    省略<path>表示.,即当前目录。
    五、git add -i
    我们可以通过git add -i [<path>]命令查看<path>中被所有修改过或已删除文件但没有提交的文件,
    并通过其revert子命令可以查看<path>中所有untracted的文件,同时进入一个子命令系统。
    比如:
     git add -i
               staged     unstaged path
      1:        +0/-0      nothing branch/t.txt
      2:        +0/-0      nothing branch/t2.txt
      3:    unchanged        +1/-0 readme.txt

    *** Commands ***
      1: [s]tatus     2: [u]pdate     3: [r]evert     4: [a]dd untracked
      5: [p]atch      6: [d]iff       7: [q]uit       8: [h]elp

    What now>
    这里的t.txtt2.txt表示已经被执行了git add,待提交。即已经添加到索引库中。
    readme.txt表示已经处于tracked下,它被修改了,但是还没有被执行了git add。即还没添加到索引库中。
    5.1、revert子命令
    可以通过git add -irevert子命令(3: [r]evert)把已经添加到索引库中的文件从索引库中剔除。
    3: [r]evert)表示通过3rrevert加回车执行该命令。执行该命令后,git会例出索引库中的文件列表.
    然后通过数字来选择。输入"1"表示git会例出索引库中的文件列表中的第1个文件。
    "1-15"表示git会例出索引库中的文件列表中的第1个文件到第15个文件.回车将执行。
    如果我们不输入任何东西,直接回车,将结束revert子命令,返回git add -i的主命令行。
    5.2、update子命令
    可以通过update子命令2: [u]pdate)把已经tracked的文件添加到索引库中。其操作和revert子命令类似。
    5.3、add untracked子命令
    通过add untracked子命令(
    4: [a]dd untracked)可以把还没被git管理的文件添加到索引库中。其操作和revert子命令类似。
    5.4、diff子命令
    可以通过diff子命令(6: [d]iff)可以比较索引库中文件和原版本的差异。其操作和revert子命令类似。
    5.5、status子命令
    status子命令(1: [s]tatus)功能上和git add -i相似
    5.6、quit子命令
    quit子命令(7: [q]uit)用于退出git add -i命令系统
    六、帮助
    我们可以通过git add -h命令来看git add命令的帮助文档。
     git add -h
    usage: git add [options] [--] <filepattern>...

        -n, --dry-run         dry run
        -v, --verbose         be verbose

        -i, --interactive     interactive picking
        -p, --patch           select hunks interactively
        -e, --edit            edit current diff and apply
        -f, --force           allow adding otherwise ignored files
        -u, --update          update tracked files
        -N, --intent-to-add   record only the fact that the path will be added later
        -A, --all             add changes from all tracked and untracked files
        --refresh             don't add, only refresh the index
        --ignore-errors       just skip files which cannot be added because of errors
        --ignore-missing      check if - even missing - files are ignored in dry run

  • 相关阅读:
    线程池的实现原理
    log4j 具体解说(不能再具体了)
    MyEclipse中背景颜色的设定
    cacheManager载入问题
    SAP 经常使用T-CODE
    Oracle 版本号说明
    用XMPP实现完整Android聊天项目
    选择如何的系统更能适合App软件开发人员?
    爱国者布局智能硬件,空探系列PM2.5检測仪“嗅霾狗”大曝光
    Innodb引擎状态查看
  • 原文地址:https://www.cnblogs.com/RobertC/p/3578147.html
Copyright © 2020-2023  润新知