Git 区域划分
这张图很清晰明了的展示了Git的几个区域,分别为:
working derectory: 工作区,所有的文件修改在这里进行。
staging area: 暂存区,修改完毕的文件,将文件快照放入暂存区。
local repo:远程仓库区,位于服务器,保存来自所有客户的提交。
一次完整的工作流:
第一步:编辑文件,查看状态
git status
修改了READEME.md文件,此时文件在工作区,状态为modified
第二步:添加文件到暂存区
git add .
此时文件到了暂存区,等待被提交到本地仓库。
第三步:提交到本地仓库
git commit -m ""
提交本地仓库成功
第四步:将服务器拉取到本地仓库
git pull origin master
第五步:提交到服务器
git push -u origin master
每个步骤如何撤销
撤销工作区文件:
git checkout filename
撤销暂存区的文件到工作区:
git reset filename
撤销本地仓库的某次到工作区:
git reset commit (提交的ID)
可以通过 git log 和 git reflog 查看最近的 commit,找到最近的那次提交,然后通过 reset 命令撤销该操作
上面有的操作对象是文件,有的是 commit,为什么呢?先弄清一点,把缓存区的文件(一个或多个文件)提交到本地仓库之后,Git 就会以某种识别码的形式来记录这次提交,这个识别码是 独一无二的。所以只要是提交到本地仓库后,操作对象就由文件变为 commit.