Github学习笔记

使用版本控制
协同修改
数据备份
版本管理(SVN为增量式管理,github为文件系统快照)
权限控制(git独有功能:对团队外开发者贡献的代码进行审核)
历史记录
分支管理

集中式版本控制工具
CVS,SVN
一个开发人员为客户端,文件和版本信息在服务端
弊端:单点故障

分布式版本控制工具
Git,Merculiar
本地即可进行完整的版本控制

Git优势

  • 大部分操作在本地完成,不需要联网
  • 完整性保证,对每一次提交的数据进行hash操作,保证完整性即为比较hash值,判断是否相同
  • 尽可能添加而非删除修改数据
  • 分支操作快捷流畅(与快照式管理有关,创建和切换分支的操作很大程度上是创建和移动指针)
  • 与Linux命令全面兼容

Git结构

工作区 暂存区 本地库
代码 临时存储 历史版本

Github为Git的代码托管中心之一
代码托管中心的任务:维护远程库
局域网环境下:Gitlab
外网环境下:GitHub,码云

本地库和远程库的交互方式
团队内协同开发
本地库→push→远程库→clone→另一个本地库(加入团队之后才能再次push)

跨团队协作

Git命令行操作:本地库操作和远程库操作
本地库操作

本地库初始化
命令:Git init
效果:输入命令ll .git/

输入命令ll .git/


.git中存放的是git相关的子目录和文件,不应删除也不应随意修改

设置签名

命令
项目级别/仓库级别:仅对当前本地库范围有效
系统用户级别:登陆当前操作系统的

  • 基本操作
  • 分支管理

相关文章

developer-roadmap —— 提供最全的开发者技术路线指南。前端...
一个极简的文件分享工具,无需注册且没有广告即可生成共享下...
收集 Github、Gitee优秀的开源项目,并进行归类整理。项目地...
大家好,我是 Java陈序员,我们有时会搭建一个属于自己的网站...
一个提供交互式的Web UI用于生成兼容MyBatisPlus框架的相关功...
大家好,我是 Java 陈序员。权限认证是我们日常开发绕不过的...