任何文件在Git库中都有四种状态:未跟踪状态untracked、跟踪状态tracked(未修改状态unmodified、已修改状态modified、暂存状态staged),由于文件的上述四种状态,在使用Git进行项目管理的时候涉及到三个区域:
(1)Git 本地数据目录:每个项目都有一个 git 目录,它是 Git 用来保存元数据和对象数据库的地方。该目录非常重要,每次克隆镜像仓库的时候,实际拷贝的就是这个目录里面的数据。
(2)工作目录(项目工作空间):从项目中取出某个版本的所有文件和目录,用以开始后续工作的叫做工作目录,即就是我们进行项目开发的目录。
(3)暂存区域:所谓的暂存区域只不过是个简单的文件,一般都放在 git 目录中。
Git本地仓库的基本用法:
① git init :初试化当前目录为一个Git本地仓库。
② git add : 如果一个文件是未被跟踪的,将 一个文件加入到Git版本控制当中,让Git对其进行跟踪;如果一个文件是已修改状态,则将一个文件放到暂存区中。
git add . : "."点表示当前目录下的所有内容
③ git status : 查看当前Git仓库中所有文件的状态,若是为跟踪状态 则用红色显示。
④ git diff:比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容。
⑤ git commit:提交暂存区域。
git commit -m <说明信息>
git commit -a 可以跳过暂存区域,直接将已跟踪的文件暂存起来一并提交。
⑥ git rm :从Git中删除一个文件。
git rm --cached :从暂存区删除一个文件,但是仍保留在工作目录中。也就是将文件变为未跟踪状态。
⑦ git log:查看项目提交历史记录。
git log -p 选项展开显示每次提交的内容差异
git log --stat 仅显示简要的增改行数统计
git log --pretty=
,其中option可以是:oneline(使每条历史信息在一行中显示),short,full,fuller,format(按指定的格式输出)
gitk 可以打开历史记录的可视化查看窗口。
⑧ git commit --amend:修改最后一次提交。该命令是提交当前缓存区快照,并修改最后一次的说明。
⑨ git checkout -- :撤销对文件的修改,慎用!
⑩ git reset HEAD :撤销对文件的暂存,让文件回到暂存前的状态。