git 各个区的区别

  • Workspace:工作区
  • Index / Stage:暂存区
  • Repository:仓库区(或本地仓库)
  • Remote:远程仓库

1、打开你的项目文件夹,除了隐藏的.git文件夹,其他项目文件位于的地方便是工作区
2、在工作区新增一个文本文件,状态是Untracked(未跟踪)
3、git add 命令实际上就是把要提交的所有修改放到暂存区(Stage),Git便会在暂存区中生成一个该文件的索引,文件此时处于uncommited状态
4 、执行 git commit 就可以一次性把暂存区的所有修改提交到本地仓库分支。
5、git push 是将本地仓库提交到远程仓库。

 

git diff 比较文件

工作区与暂存区比较:git diff filepath 

工作区与提交区比较:git diff 提交hash码或者HEAD

暂存区与提交区比较:git diff --staged 或 --cached  filepath

两个不同提交区比较:git diff 提交区hash码A  提交区hash码B

两个不同分支间比较:git diff 分支A的某个hash码  分支B的某个hash码    #若比较两个分支最新提交之间的区别,则直接将hash码换成分支名称即可

工作区与commit 提交进行比较:git diff commitId filepath 

 

仅仅删除暂存区里的文件

  git rm --cache 文件名

删除暂存区和工作区的文件

  git rm -f 文件名

删除错误提交的commit,也可称为版本回退

    git reset有三个选项,--hard、--mixed、--soft

撤销已提交的版本库,不会修改暂存区和工作区
  git reset --soft 版本库ID
撤销已提交的版本库和暂存区,不会修改工作区
  git reset --mixed 版本库ID
彻底将工作区、暂存区和版本库记录恢复到指定的版本库
  git reset --hard 版本库ID

 

相关文章:GIT工作区、暂存区、版本库之间的关系

  GIT 工作区,缓存区

  Git删除暂存区或版本库中的文件

posted @ 2018-06-17 10:20  柔和的天空  阅读(930)  评论(0编辑  收藏  举报