本章参考了廖雪峰老师的官方网站中git的工作区和暂存区部分:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013745374151782eb658c5a5ca454eaa451661275886c6000
工作区(Working Directory)
就是在电脑里能看到的目录
版本库(Repository)
工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的一个指针叫HEAD。
我们把文件往Git版本库里添加的时候,是分两步执行的:
第一步是用git add把文件添加进去,实际上就是把文件修改添加到暂存区;
第二步是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。
1、git add 命令:
(1)git add :
$git add <path>
该命令表示 add to index only files created or modified and not those deleted.(包括新建的和已修改的,不包括已删除的)
文件一定要放到Git的仓库目录或者他的子目录。否则Git将无法找到文件。
(2)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的文件。
省略表示.,即当前目录。
(3)git add -a:
$git add -A [<path>]
该命令表示把path中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。
省略表示.,即当前目录。
(4)git add -i:
$ git add -i [<path>]
可以通过该命令查看path中被所有修改过或已删除文件但没有提交的文件.
(5)git add 帮助
$ git add -h
或者
$ git add -help
2、add commit命令 :
(1)
$ git commit -m "提交的描述信息"
如果这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息。
(2)
$ git commit -a -m "提交的描述信息"
git commit 命令的-a 选项可将所有被修改或者已删除的且已经被git管理的文档提交到仓库中。如果只是修改或者删除了已被Git 管理的文档,是没必要使用git add命令的。
(3)对于已经修改提交过的注释,若需要修改,可以借助 git commit –amend 来进行。
$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”
会使与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消.