1. 安装git
windows安装
git官网:https://git-scm.com/downloads
官网下载慢,使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows-windows
mac安装
- 通过homebrew安装Git
$ brew install git
- 通过下载安装
下载地址:https://git-scm.com/downloads
linux安装git
1、配置base源和epel源
# cat /etc/yum.repos.d/aliBase.repo
[aliBase]
name=aliBase
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-$releasever
# cat /etc/yum.repos.d/aliEpel.repo
[aliEpel]
name=aliEpel
baseurl=https://mirrors.aliyun.com/epel/$releaseverServer/$basearch/
enabled=1
gpgcheck=0
2、yum命令下载
yum install -y git
3、查看是否下载成功
git --version
2. git原理介绍
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间的转换关系如下:
Workspace:工作区,就是你平时存放项目代码的地方
Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换
3. git配置
Git 提供了一个叫做 git config 的工具,专门用来配置或读取相应的工作环境变量。
这些环境变量,决定了 Git 在各个环节的具体工作方式和行为。这些变量可以存放在以下三个不同的地方:
/etc/gitconfig
文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
~/.gitconfig
文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config
文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config
里的配置会覆盖 /etc/gitconfig
中的同名变量。
设置用户名跟邮箱
$ git config --global user.name "lzw"
$ git config --global user.email "tyutlizhewei@163.com"
查看全局配置
$ git config --global --list
4.项目管理
让git对目录进行版本控制需要以下步骤:
第一阶段:初始版本
1、初始化命令
git init
2、管理目录下的文件状态
git status
注:新增或修改过后的文件都是红色
3、管理指定文件
git add 文件名
git add .
4、生成版本
git commit -m "描述信息"
5、查看版本记录
git log
第二阶段:扩展新功能
git add
git commit -m "短视频"
第三阶段:回滚版本
- 回滚至之前的版本
git log
git reset --hard 版本号
- 回滚至之后的版本
git reflog
git reset --hard 版本号
5、三大区域转换
6、分支
- 查看分支
git branch
- 创建分支
git branch <分支名称>
git checkout -b <分支名称> // 创建分支,并切换至该分支
- 切换分支
git checkout <分支名称>
- 分支合并
git merge <要合并的分支>
注:切换分支再合并
- 删除分支
git branch -d <分支名称>