Git工作区域
- 对于任何一个文件,在 Git 内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。Git 管理项目时,文件流转的三个工作区域:Git 的工作目录,暂存区域,以及本地仓库。如下图所示
基本的 Git 工作流程如下:
- 在工作目录中修改某些文件。
- 对修改后的文件进行快照,然后保存到暂存区域。
- 提交更新,将保存在暂存区域的文件快照永久转储到 Git 目录中。
Git简单使用
Git初始化、添加到暂存区域、提交到本地仓库
- 命令行模式下进入创建好的项目根文件夹键入
git init
,此时在项目根文件夹下创建了一个.git文件夹,完成git的初始化。 - 在项目文件夹下添加文件 filename ,此时在项目根目录下键入命令
git add filename
,filename表示文件的路径+文件名。此时git将修改或者新创建的文件添加入了暂存区域。 - 在项目根目录命令行模式下键入
git commit -m "修改说明"
,此时git将暂存区域的内容提交到本地仓库。
Git 查看历史版本以及返回指定版本
查看历史版本:
git log
,此时会从近到远的时间顺序显示每一次修改提交的版本。若是觉得使用命令
git log
后显示内容太多,可以使用命令git log --pretty=oneline
使用命令
git checkout -- filename
可以将暂存区域里面的相应文件filename同步到工作目录下的filename。注意,该操作不可逆,需谨慎!使用
git log
可以查找到每次提交的commit id,就是很长的一段十六进制表达的数,使用命令git reset id
即可返回指定的版本存到暂存区域,id
表示commit id 前七位数。或者git reset HEAD~
表示返回上一个版本存到暂存区域,增加~
的个数返回更早的版本,简单来说当~
的个数是n个时,返回的是前n个版本。注意,该操作不可逆,需谨慎!使用命令
git reset --hard id
表示返回指定版本(将工作目录也进行修改),或者git reset --hard HEAD~
表示返回上一个版本(将工作目录也进行修改),~
个数同上。
参考:https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-Git-%E5%9F%BA%E7%A1%80