查看当前的工作状态:git status
On branch master:现在位于master分支里面
nothing to commit, working tree clean:没有需要提交的文件,当前目录是干净的,即,在上一次提交过后,到目前为止,此目录下的内容没有被改变过
再新建一个文件,不加入暂存区,查看状态
提示有未跟踪文件,即有新添加,但并没有加到暂存区或者提交的文件
提交到暂存区后,再查看状态
git reset HEAD <file> :
恢复暂存区域,因为刚刚提交了一个NewFile.txt文件,所以改变了暂存区里面的内容,可以使用此命令恢复到此次提交之前, <file>是可选的,即可以指定恢复某个文件,或者某些文件,如果不指定,则代表全部文件
提交过后再次查看状态,提示仓库里面没有需要提交的文件
往NewFile里面加一点内容,再看状态
提示说由于工作空区里的 NewFile.txt文件内容有改变,导致和暂存区里面的NewFile.txt文件不匹配,git给出两种解决方案:
git add <file>:把修改后的文件从工作区添加到暂存区覆盖原有的文件git checkout -- <file>:将暂存区里的旧版本文件检出到工作区覆盖现有版本
检出看一下,可以看到,文件已经回到了已提交的状态,这里的已提交是上一个版本的提交
打开文件看,里面是空的
再次修改文件,并添加到暂存区,查看状态,就提示,要么commit,要么使用reset恢复暂存区
先不提交到仓库,接着修改文件,并查看状态
提示说暂存区有个等待被提交的NewFile.txt文件,同时,工作区还有对NewFile.txt文件的修改等待被提交到暂存区,
这个情况下直接进行commit,是将暂存区的文件提交到仓库,而不会提交工作区的,如果想要提交工作区里的内容,需先把工作区提交到暂存区,再提交到仓库
查看历史提交记录:git log
显示记录的顺序是从近到远的,即第一条是最新的提交,每一条信息都显示了是哪个用户提交的(test),邮箱,以及从暂存区提交到仓库时的备注