[TOC]
一、Github基础
什么是Git?
git是一个分布式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)(Linux之父)创作,于2005年发布。最初目的是为更好地管理Linux内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快;Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网。
Git客户端
TortoiseGit是一个Git版本控制客户端,作为Microsoft Windows的外壳扩展实现,用户界面友好,大多数人应该用过TortoiseSvn;
MsysGit是一个轻量级的 Git 工具集,可以进行各种 Git 操作,MsysGit又分为简单的界面Git GUI,和命令行Git Bash,我们这节课主要通过Git Bash来演示。
Git服务端:GitHub 和Gitlab
- GitHub 是一个面向开源及私有软件项目的托管平台,用于存放使用Git版本控制的软件代码和内容项目;允许用户跟踪其他用户、组织、软件库的动态,对软件代码的改动和 bug 提出评论。因为有一定的交互性,故被戏称为“最大的同性交友网站”。
- GitLab是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目,拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。多用于企业构建自己的代码仓库
Git基本概念
三种工作区域
- Git 的本地仓库:在.git 目录中
- 工作区:用户操作目录
- 暂存区:在.git 目录中
三种状态
- 已提交(committed):该文件已经被安全地保存在本地仓库中
- 已修改(modified):修改了某个文件,但还没有提交保存
- 已暂存(staged):把已修改的文件放在下次提交时要保存的清单中
状态转换图示如下
- 状态转化整体流程: