git暂存区与工作区
我们在电脑里看到的目录。在工作区的目录中有一个隐藏的目录.git,这个不算是工作区,而是Git的版本库。Git的版本库中存了很多东西,其中自重要的是stage(或者叫做index)的暂存区
我们把文件往Git版本库里添加的时候,是分两步执行的:
- 用git add把文件添加进去,实际上就是把文件修改添加到暂存区
- 用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支
可以理解为:需要提交的文件修改通通放到暂存区,然后,一次性提交暂存区的所有修改。
git常用命令
-
git init
创建一个git仓库,创建之后就会在当前目录生成一个.git的文件 初始化一个能让git进行管理的仓库 -
git status
可以查看当前git所处的状态,比如可以查看本次修改的内容,是否保存到本地仓库等… -
git add
向暂存区添加文件,用法: 例如: git add login.vue,就是添加单个文件到暂存区,也可以将全部的文件添加,用法: git add . -
git commit -m “描述”
对本次修改内容的描述,一次提交缓冲区的所有文件,可以将暂存区的文件添加到本地管理仓库里 -
git log
可以查看提交日志,查看git使用的记录 -
git reflog
查看所有提交日志,比如当版本回退后,日志就会清空,想再次返回没回退之前的版本就可以使用这行代码来查看所有的记录/日志 -
git checkout
切换分支,重置工作区的文件状态,例如使用 git checkout 分支名,就是切换分支
git checkout -b 分支名 创建并切换分支
git checkout – file 可以撤销当前文件提交的更改 -
git diff
查看工作区和暂存区的变化,比较文件之间的不同,
如果文件修改了,还没有提交,就可以比较文件修改前后的差异
当工作区有改动,临时区为空,比较的是工作区与最后一次commit提交的仓库的共同文件
git diff --cached/ gitdiff --staged 暂存区已add但未commit的文件和最后一次commit(HEAD)之间的所有不相同文件的增删改 -
git reset
将暂存区的文件恢复到工作区,版本的回退
回退到上一个版本 git reset --hard HEAD^
git reset --hard 版本id,回退到指定版本 -
git rm
git rm 文件名,删除工作区文件,并且将这次删除放入暂存区,用 git rm 来删除文件,同时还会将这个删除操作记录下来
rm 删除工作区的文件,并没有删除版本库的文件,仅仅是删除了物理文件,没有将其从 git 的记录中剔除 -
git branch
git branch 分支名 创建分支,
git branch 查看所有的分支,
git branch -d 分支名 删除指定分支
git branch -m 旧分支名 新分支名 重命名分支名 -
git merge
git merge 分支名 合并某分支的内容到当前分支
git merge的详细使用