简单的Git模型
如下图所示,git模型分为工作区,stage和master三部分。
工作区 就是目前的工作目录(自己正常的项目目录里)
版本库 使用git init命令创建的,分为stage部分和master部分
当我们修改了某个或者某几个文件的时候,我们的工作区会发生变化,此时使用git diff,git会告诉我们哪些文件,哪些部分发生了变化。使用git status会显示,这几个文件还没有add,需要我们add到暂存区。
如果某个文件我们觉得改好了,此时可以使用git add将这个文件放到我们的stage部分中,意味着这个文件已经改好了。此时如果使用git diff,我们add的几个文件是不会diff出来的。git status也会显示,我们有几个文件需要commit。
如果整个项目都改好了,这个时候就可以git commit -m “修改了什么,写注释”。表示,这就是改好的一个版本了。此时git status会表示,暂存区里啥也没有,工作区也没有需要add的。
图一 git模型
常用的git命令
git init 把某个目录初始化为一个git目录,相当于多了图一后面的版本库模块。
git add 把工作区里的某个文件加入暂存区,表示这个文件已经改好了。
git commit -m “修改注释” 把改好的整个项目提交,表示这就是自己改好后的一个版本。
git diff 显示出工作区中自上一次add后修改过的文件,并显示出有啥变化。如果修改过的文件全部被add了,那么不会显示有什么不同。
git status 显示工作区和暂存区的状态。例如:工作区是否有文件未add;暂存区是否有文件未commit。
git log 显示项目到目前为止提交的几个版本,如下所示
git reset --hard <版本号> 将目前版本回退到版本号指定的版本。
git checkout 撤销工作区某个文件的修改
git reset HEAD filename 撤销某次文件add