# git 学习笔记
* git 是版本控制工具
## 版本控制方法
本地版本控制
集中式版本控制svn
分布式版本控制git
## GIT历史
* git最初是为了辅助Linux开发的,用来代替bitkeeper
* git之父 李纳斯·托沃兹 1969 芬兰
* 开源,免费
## 环境配置
* 找镜像源,下载最新版,无脑下一步
* git config -l 查看配置
git config --global user.name "****"
git config --global user.email "******"
## 菜单项
* git bash Unix与Linux风格的命令行,使用最多,推荐
* git CMD Windows风格的cmd
* git GUI 图形界面,不推荐
## 基本Linux命令
1、cd:改变目录
2、pwd:当前目录
3、clear:清屏
4、ls:列出当前文件夹下所有文件
5、touch:新建文件 touch test.txt
6、mkdir:创建目录
7、rm -r:删除文件夹
8、rm:删除文件
9、history:查看历史命令
10、mv:移动文件 mv 文件名 文件夹
11、exit:退出
12、#代表注释
## git基本理论
1、git本地有三个工作区域:工作目录(Working Directory)、暂存区(stage/index)、资源库(repostory/git directory)
2、远程工作仓库(remote directory)
3、git add:将本地文件添加到暂存区
4、git commit -m:将暂存区的代码提交到本地,M代表提交信息
5、git push:将本地代码提交到远端
6、git pull:将远端代码拉到本地
7、git Reset:将本地代码退回暂存区
8、git checkout:暂存区退回工作目录
9、git status:查看文件状态
* 忽略文件
建立.gitignore文件,按正则语法将要忽略的文件写进去
* 修改文件
add到暂存区
commit到本地
push到远端
## git分支
如果一个文件在合并分支时都被修改了则会引起冲突,修改冲突后重新提交,选择用那个代码
* 分支命令
1、git branch :列出所有本地分支
2、git branch -r:列出所有远端分支
3、git branch name:新建一个分支,依然停留在当前分支
4、git checkout -b 【branch】:新建并切换到当前分支
5、git merge 【branch】:合并特定分支到当前分支
6、git branch -d [branch]:删除分支