1.Git的结构分成四大块(workspace,index,reposotory,remote)

workspace(工作区):当前项目或文件的状态,比如用eclipse管理当前的项目。

index(暂存区):主要是存放把工作区通过add命令提交后的状态。暂存区可以回溯,如果不想将当前的状态commit到本地的仓库repository,可以通过remove命令回溯。

repository(版本库):本地版本库,暂存区index里的数据通过commit命令,就会提交到版本库repository中。这个版本库就类似集中式的版本控制系统如,SVN,因为在本地,所以不需要联网,处理的速度也比较的快。

remote(对应着Github):本地的版本通过push操作,推送到Github上,从远程的版本库到本地的版本库可以通过fetch或者clone指令实现,从版本库到workspace可以通过checkout指令,可以直接通过pull命令直接将remote的版本到workspace.

2.Git的文件变化周期

Git版本控制主要是监听文件的变化,会记录所有文件的状态的变化。比如说新增加的文件,修改的文件,或者待提交的文件,都会被记录下来。

(1)比如说Untracked的文件,如新增加的文件,新增的文件是不被跟踪的。需要通过add命令提交到缓存区staged才能被发现。

(2)unmodified:比如说本地的工作区或者版本区是同步过的,那么就是unmodified的状态。

(3)当Unmodified的文件被修改了,比如说修改了某一行等,这个文件的状态就转变为了Modified的状态。

(4)staged相当于暂存区,untracked的文件,比如说新建的文件,通过add命令就会提交到暂存区staged的状态。然后通过commit命令可以将暂存区的文件提交到本地的库中,这时,工作区的文件和本地库中的文件是同步的,所以是unmodified的状态。modified的文件最终还是通过add命令提交到缓存区的。

(5)对于一个文件的add是单次执行的,但是对于文件的修改时多次进行的,我们在开发一个项目的时候是迭代开发的,文件从未本跟踪到缓存区是一次执行的,对于文件的修改时迭代的过程。

(6)从unmodified到untracked,将当前状态回溯到不被git监听的状态,相当于删除,移除的操作。

【Git/Github学习笔记】Git的工作流程相关推荐

  1. git/github学习笔记

    原文地址为: git/github学习笔记 请移步到:http://www.testclass.net/git/ ----- 我重新对git/github教程进行了编排和整理. 1. git 版本控制 ...

  2. git serialtool_Git学习笔记---协作的一般流程

    一般的操作流程 1.pull 王小坤与另一个同事张大炮一起开发一个项目,张大炮昨天修改了数据库读写的api,优化了执行速度,并把read()函数改名成了Read(),下午下班之前把这些代码push到服 ...

  3. Git Github学习笔记

    Git && Github 一.本地库操作命令 本地初始化 git init # 选择一个目录进入 helin9s@LAPTOP-M719A9K6 MINGW64 /d/DEVELOP ...

  4. Learn Git Branching 学习笔记(高级话题篇)

    目录 一.高级话题篇 1.多分支rebase 2.选择父提交记录 3.纠缠不清的分支 Git的一些技术.技巧与贴士集合在上一篇文章中 Learn Git Branching 学习笔记(Git 技术.技 ...

  5. 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流

    GitHub操作总结 : 总结看不明白就看下面的详细讲解. . 作者 :万境绝尘  转载请注明出处 : http://blog.csdn.net/shulianghan/article/details ...

  6. Git 个人学习笔记及心得

    作为程序员如果你还不知道 Git 和 GitHub,说不过去吧,赶紧来学习一波. 一.认识GitHub Git 是个版本控制系统,说明白点就是进行代码的各种管理,比如你写错代码进行回滚啊.追寻 Bug ...

  7. Git工作流学习笔记

    Git工作流指南 分布式版本控制系统 观看笔记:https://www.bilibili.com/video/BV1dW411U7ER?p=1 老师笔记: http://www.funtl.com/z ...

  8. 《Got Git》学习笔记(一)

    <Got Git>学习笔记(一) 最近想对自己的代码和文档进行归档整理,需要一个版本控制系统来进行 处理.自然而然的想到了目前流行的GitHub. GitHub,是一个面向开源及私有软件项 ...

  9. Git 经验总结及 Git GitHub 学习指南

    1. 前言 本文主要分为两部分,前一部分是本人学习和工作中使用 Git 的总结经验,后半部分是总结的 Git & GitHub 的学习指南.如果想直接体系学习,可以直接按照指南路线学习.如果你 ...

  10. git的学习笔记(二):git远程操作

    git的学习笔记(一):git本地操作 1.创建ssh key ssh-keygen -t rsa -C "your_email@example.com" 执行命令后会在用户的家目 ...

最新文章

  1. 天下苦同行评审久矣,要不我们把它废除掉?
  2. 安全系列------web环境搭建组合
  3. 17、MySQL创建,执行事件
  4. 用户管理:搭建系统微服务
  5. C++ map 使用详解(含C++20新特性)
  6. pwm波如何控制电机代码_PWM波控制720电机
  7. 信息学奥赛一本通(1143:最长最短单词)
  8. c++标准程序库:STL容器之map
  9. iOS web 、原生 js 交互:方法及原理
  10. selenium + java po模式
  11. ds18b20温度转换指令_使用STM32控制DS18B20温度传感器
  12. 出现问题请与你的系统管理员联系 照片出现问题请与你的系统管理员 照片出现问题请与系统管理员联系 无法打开应用请与管理员联系
  13. java comp_Java EE异常:名称java:comp未在此上下文中绑定
  14. 12C ORA-错误汇总20
  15. 计算机开机后黑屏鼠标显示桌面图标,电脑开机后黑屏怎么解决只显示鼠标
  16. 京东股权众筹投后总结和反思
  17. 【java基础】int和tinyint的区别
  18. javaweb_会话管理(sessionCookie)
  19. 0. Redis-Server(操作)
  20. 一个c加一个g是什么牌子_车标是一个很神奇的存在 那你知道“G”是什么汽车吗?...

热门文章

  1. Boost Asio run() run_one() poll() poll_one()的区别
  2. 微信公众号开发 ----微信获取access_token(2)
  3. 移动短信回执怎么开通_微信短视频直播怎么做?
  4. modbus发送接收_自己编写MODBUS协议代码所踩过的坑
  5. 计算机原理与系统结构教程,计算机组成原理与系统结构实验教程.docx
  6. 已添加了具有相同键的项_减糖的另一种创新方案:不被计算为“添加糖”的水果泥...
  7. JavaScript:监听网站离开更改title
  8. Go语言:数组练习—数组逆置
  9. Javascript:简单的表单验证更改样式
  10. Java集合框架源码解读(2)——HashMap