git init,使该目录变为Git可以管理的仓库

要将文件放入仓库仅需两步

1,git add 文件

$ git add rd.txt

2,git commit -m "该引号内填本次提交说明,用来方便寻找记录"

$ git commit -m "rd.version1.0"

git status

该命令用来查看仓库状态

git diff

查看文件上次修改的地方和修改内容

减号后面是被删除的地方

加号为文件新增的地方

git log

查看各个更新的历史记录

要简化输出可以在命令后面加入 --pretty=oneline

commit 之后的内容为版本号,通过版本号可以快速来到各个版本,如下:git reset --hard 87ab

版本号写4到5位即可,不必太多太少

git reset --hard HEAD^

转到其他版本

其中HEAD代表当前版本,加一个^代表回退到上一个版本,加两个回退到上两个版本,以此类推……

--hard代表回退到上个版本已提交状态

--sort回退到上个版本未提交状态

--mixed回退到上个版本已添加但未提交状态

git reflog

查看命令历史(在什么时候使用了什么命令)

重要:工作区与暂存区

工作区就是电脑里可以看到的目录

版本库

工作区中被隐藏的目录.git

版本库中的stage被称为暂存区

git add添加文件是将文件修改添加到暂存区

git commit提交更改是将暂存区中的所有内容提交到当前分支

这也就是为什么add是一个一个文件上交,而commit可以一次性交完所有文件修改

Git中已经自动创建了唯一一个master分支,即主分支

git 修改文件之后再添加,那么将文件提交到暂存区,再修改文件,那么这次修改还没填入暂存区,如果此时commit,那么第二次修改没有被提交

综上:如果每次修改不用git add加入暂存区,那么不会加入到commit中

git checkout --文件名

撤销工作区的修改

1,修改之后还没加入暂存区

2,修改加入暂存区之后再次修改

一句话概括:撤销修改得到的状态就是最后一次加入暂存区的状态

1的解释,得到还没修改过的状态

2的解释,回到上一次添加到暂存区的状态

(--不可省略,没有它,就成为“切换到另一个分支”的指令)

git reset HEAD <file>可以将暂存区的修改撤销,重新放回工作区

改错了东西,提交到缓存区,提交到了版本库都可以进行回退处理,除非已经将提交推送到了远程版本库

删除文件

rm 文件名 或者在文件管理器中删除文件,此时仍然可以通过版本库回到新版本

确实删除:

git rm 文件名 在版本库中删除,一旦删除无法恢复

git commit -m "" 删除也是一种修改,被修改后的文件都放在暂存区

误删:

git chekout -- 文件名

使用版本库版本替换工作区版本

注意:从未被添加到版本库就被删除的文件,无法恢复