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 --soft 版本库ID
撤销已提交的版本库和暂存区,不会修改工作区
git reset --mixed 版本库ID
彻底将工作区、暂存区和版本库记录恢复到指定的版本库
git reset --hard 版本库ID
相关文章:GIT工作区、暂存区、版本库之间的关系
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步