## 简介
` `Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理,是目前使用范围最广的版本管理工具。Git的功能特性:
**从一般开发者的角度来看,git有以下功能:**
1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。
2、在自己的机器上根据不同的开发目的,创建分支,修改代码。
3、在单机上自己创建的分支上提交代码。
4、在单机上合并分支。
5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。
6、生成补丁(patch),把补丁发送给主开发者。
7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。
8、一般开发者之间解决冲突的方法,开发者之间可以使用pull 命令解决冲突,解决完冲突之后再向主开发者提交补丁。
**从主开发者的角度(假设主开发者不用开发代码)看,git有以下功能:**
1、查看邮件或者通过其它方式查看一般开发者的提交状态。
2、打上补丁,解决冲突(可以自己解决,也可以要求开发者之间解决以后再重新提交,如果是开源项目,还要决定哪些补丁有用,哪些不用)。
3、向公共服务器提交结果,然后通知所有开发人员。
## 工作原理
` `在使用前先来了解一下Git的工作原理,是很有必要的一件事,下面是Git的工作流程和简化原理图:
* [ ] 工作流程
![](https://img.kancloud.cn/6d/6e/6d6ef99dd50004312e59ce72c15a63cb_438x545.png)
* [ ] Git简化原理图
![](https://img.kancloud.cn/d4/da/d4da22d2d0128a07cc314452511ccfc2_409x336.png)
- 第1章 电脑操作篇
- 1.1 电脑高清壁纸下载地址
- 1.2 音乐外链在线获取
- 1.3 markdown,js等表格生成神器
- 1.4 在线使用文档,表格,演示文档
- 1.5 开发在线工具
- 1.5.1 toolbox
- 1.5.2 菜鸟工具
- 1.6 vs code远程调试
- 1.7 windows批处理命令
- 1.8 windows安装cygwin运行linux指令
- 1.9 windows下某些程序运行慢
- 1.10 win下为鼠标右键添加新项目
- 1.11 win上自己常用的开发软件
- 1.12 win下vscode配置
- 第2章 Electron 用前端技术开发跨平台桌面应用
- 2.1 介绍
- 2.2 入门链接地址
- 2.3 cnpm使用
- 第3章 Git使用
- 3.1 介绍
- 3.2 同步GitHub的基本使用方法
- 3.3 同步Gitee的基本使用方法
- 3.4 获取当前git分支
- 3.5 LF和CRLF换行的转换
- 第4章 HTML,CSS,JS
- 4.1 HTML速查列表
- 第5章 python使用
- 5.1 文件操作
- 5.2 一句话建立服务器
- 第6章 我的女友叫Linux
- 6.1 使用shell写俄罗斯方块
- 6.2 那些有趣的shell
- 6.2.1 40个有趣的LInux命令行
- 6.2.2 命令行下的网易云搜索播放器
- 6.2.3 从网上获取一条语句并显示
- 6.3 在linux上写汇编
- 6.4 在linux终端连接另一台linux
- 6.5 makefile文件的编写
- 6.6 deepin挂载远程文件夹到本地文件夹
- 6.7 本地lnux和远程linux进行文件拷贝
- 6.8 超好用的linux下的ssh管理工具(electerm)
- 6.9 那些不重要的技巧
- 6.10 linux文件加密
- 6.11 论文画图软件gnuplot
- 6.12 自定义mrun命令用于执行当前路径下的run文件
- 6.13 fish shell后台运行程序
- 第7章 在线工具收集
- 7.1 各种编程语言的在线编辑运行
- 7.2 html js 在线尝试
- 第8章 搭建自己的私有云盘
- 第9章 linux下的一些软件
- 9.1 remarkable--markdown文件轻量编辑器
- 9.2 gnuplot画图软件
- 9.3 Graphviz绘图(流程图,状态图)
- 第10章 TCL脚本编程
- 10.1 基础教程
- 10.2 在tcl脚本文件其他tcl脚本文件运行
- 10.3 在tcl脚本文件中调用bash/fish
- 10.4 TCL培训教程
- 10.5 tcl脚本参数传递
- 第11章 看云的使用
- 11.1 markdown添加公式
- 11.2 看云在linux本地编辑脚本
- 第12章 Go语言在linux下的使用
- 12.1 简介
- 12.2 调用自己的包
- 12.3 Go语言学习的资料
- 12.4 golang使用flag完成命令行解析
- 12.5 Golang文件操作大全
- 12.5.1 创建空文件
- 12.5.2 Truncate文件
- 12.5.3 得到文件信息
- 12.5.4 重命名和移动
- 12.5.5 删除文件
- 12.5.6 打开和关闭文件
- 12.5.7 检查文件是否存在
- 12.5.8 检查读写权限
- 12.5.9 改变权限、拥有者、时间戳
- 12.5.10 硬链接和软链接
- 12.5.11 复制文件
- 12.5.12 跳转到文件指定位置(Seek)
- 12.5.13 写文件
- 12.5.14 快写文件
- 12.5.15 使用缓存写
- 12.5.16 读取最多N个字节
- 12.5.17 文件追加内容
- 12.6 操作CSV文件
- 第13章 搜集资源的一些方法
- 13.1 电子书_电子课本
- 第14章 EndNote的使用
- 14.1 安装
- 14.2 文件检索