git所划分成几个区域,各区域的作用以及各区域之间的联系 | 您所在的位置:网站首页 › 曼谷几个区域分别是哪几个区 › git所划分成几个区域,各区域的作用以及各区域之间的联系 |
Git的区域分为 工作区、暂存区、本地仓库区 工作区(work directory):一般就是我们项目的根目录。 本地仓库(repository):我们在为项目添加本地库之后,会在工作区生成一个如下图所示的隐藏目录“.git”,.git目录即为当前工作区的本地版本库 暂存区(stage):版本库中设立一个暂存区(Stage or Index),作为用来直接跟工作区的文件进行交互,工作区文件的提交或者回滚首选都是通过暂存区,而版本库中除了暂存区之外,文件的提交的最终存储位置是分支(Branch),在创建版本库的时候默认都会有一个主分支(Master)。
相关命令 git commit -a 等同于连续执行 git add 与 git commit,即先把文件从工作目录复制到暂存区,然后再从暂存区复制到仓库中;git checkout HEAD – files 的过程刚好相反,将工作区和暂存区都同步至当前分支内的状态;也就是最后一次commit的状态;撤销操作主要有如下几种git commit --amend 撤销上一次提交 并讲暂存区文件重新提交git checkout -- 拉取暂存区文件 并将其替换成工作区文件git reset HEAD -- 拉取最近一次提交到版本库的文件到暂存区 改操作不影响工作区
相关命令 git diff:查看尚未暂存的文件更新了哪些部分;即当前状态下工作区和暂存区之间的差异。git diff –cached:查看已暂存文件和上次提交时的快照之间的差异;即当前状态下暂存区和分支内的差异。git diff HEAD:查看未暂存文件与最新提交文件快照的区别;即当前状态下工作区和分支内的差异。
注意:此图解主要针对已跟踪状态文件而言,对于新增文件,有些操作会有问题。 1. 修改本地已被跟踪文件,文件进入未暂存区域。 2. 未暂存区域转到暂存区域 git add files3. 暂存区提交到本地仓库 git commit -m4. 直接从未暂存区提交到本地仓库 git commit -am经测试,对已跟踪的文件可以正确执行,而对于未跟踪文件(即新增文件)则会出错5. 本地库回退到暂存区 git reset –soft hash值git reset –soft origin/master一般回退到暂存区的文件作排查用,不要直接修改,不然会同时出现在暂存区和未暂存区(其实即使修改了也木有太大关系)6. 本地库回退到未暂存区 git reset –mixed hash值git reset –mixed origin/master一般回退到未暂存状态就是为了进一步的修改7. 本地库回退到文件初始状态(即此版本的) git reset –hard hash值注意这里,通常先执行一次fetch,保证本地版本是origin的最新版本,然后再回退。(最厉害的是,这么操作不会有冲突,直接让文件变成和origin保持一致) git fetch origingit reset –hard origin/master特别注意:这么操作会使你对文件的修改全部消失,还原成最初状态。(针对上一条情况衍生讲解)通常在推送到origin时,先要pull,然后再推送,一般是修改提交了的文件和pull下来的同一个文件产生冲突(所以建议修改代码前,一定先要pull) git pullgit push origin master8. 暂存区回退到未暂存区 git reset – filesgit rest 撤销所有暂存区的文件9. 未暂存区回退到文件初始状态 git checkout – files10. 暂存区回退到文件初始状态 git checkout head – files
|
CopyRight 2018-2019 实验室设备网 版权所有 |