一般工作流程如下:

  • 克隆 Git 资源作为工作目录。
  • 在克隆的资源上添加或修改文件。
  • 如果其他人修改了,你可以更新资源。
  • 在提交前查看修改。
  • 提交修改。
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。

下图展示了 Git 的工作流程:
Git 工作流程


引入Git概念后的工作流程:

  • workspace:工作区就是本地的文件代码目录
  • index:又称为暂存区stage,对应文件就是.git目录下的index文件
  • local repository:本地仓,对应目录也就是.git目录
  • remote repository:如果你使用远程比如github 或自己服务器搭建的私有仓库
GIT工作流程图
  1. 从时间先后来讲,工作目录的内容是你当前看到的,也是最新的;
  2. index区标记了你当前工作目录中,哪些内容是被git管理的;
  3. 本地仓库保存了对象被提交过的各个版本,比起工作目录和暂存区的内容要旧一些;
  4. 远程仓库是本地仓库的异地备份,远程仓库的内容可能被分布在多个地点的处于协作关系的本地仓库 修改,因此它可能与本地仓库同步,也可能不同步,但是它的内容是最旧的;
  5. 任何对象都是在工作目录中诞生和被修改;任何修改都是从进入index区才开始被版本控制;只有把修改提交到本地仓库,该修改才能在仓库中留下痕迹;
  6. 如果要与协作者分享本地的修改,可以把它们push到远程仓库来共享。

图最上方的 add、commit、push等,展示了git仓库的产生过程。反过来,我们可以从远程历史仓库中获得本地仓库的最后一个版本,clone到本地,从本 地检出对象的各个版本到index暂存区或工作目录中,从而实现任何对象或整个仓库的任意阶段状态的”回滚”。当正向和反向都能自由切换后,git就强大 到无所不能了。