仓库
- 本地仓库
- 远程仓库
操作
- commit:提交,将本地文件和版本信息保存到本地仓库
- push:推送,将本地仓库文件和版本信息上传到远程仓库
- pull:拉取,将远程仓库文件和版本信息下载到本地仓库

远程仓库平台
- gitHub(地址:https://github.com/),是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名gitHub
- 码云(地址:https://gitee.com/),是国内的一个代码托管平台,由于服务器在国内,所以相比于GitHub,码云速度会更快
- Gitlab (地址:https://about.aitlab.com/),是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的web服务
- BitBucket (地址:https://bitbucket.org/),是一家源代码托管网站,采用Mercurial和Git作为分布式版本控制系统,同时提供商业计划和免费账户
常用命令
Git全局设置
设置/查看用户信息
git config --global user.name "name"
git config --global user.email "email"
git config --list
本地仓库常用命令
git status # 查看文件状态
git add # 将文件的修改加入暂存区
git reset -hard(提交号) # 将文件的修改取消暂存,或者是切换到指定版本
git commit -m "注释" # 将暂存区的文件提交到版本库
git log # 查看日志
远程仓库常用命令
git remote # 查看远程仓库
git remote add # 添加远程仓库
git clone # 从远程仓库克隆
git pull origin master # 从远程仓库拉取
git push origin master # 推送到远程仓库
获取Git仓库
方式:
- 本地化初始一个仓库(不常用)
在本地目录执行git init命令,会生成一个.git文件夹
- 从远程仓库克隆(常用)
在本地目录执行git clone (克隆地址) 命令执行远程克隆
工作区、暂存区、版本库概念
- 版本库: 前面看到的.qit隐藏文件夹就是版本库,版本库中存储了很多配置信息、日志信息和文件版本信息等
- 工作区: 包含.git文件夹的目录就是工作区,也称为工作目录,主要用于存放开发的代码
- 暂存区: .git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方

Git工作区中文件的状态
Git工作区中的文件存在两种状态:
- untracked 未跟踪(未被纨入版本控制)
- tracked 已跟踪(被纳入版本控制)
- Unmodified 末修改状态
- Modified 已修改状态
- Staged 已暂存状态
分支操作
分支是Git 使用过程中非常重要的概念。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。
同一个仓库可以有多个分支,各个分支相互独立,互不干扰。
通过git init 命令创建本地仓库时默认会创建一个master分支。
git branch # 查看分支
git branch [namel # 创建分支
git checkout [namel # 切换分支
git push [shortName] [name] #推送至远程仓库分支
git merge name] # 合并分支