Git
安装
官网下载:https://git-scm.com/download/win
镜像下载:http://npm.taobao.org/mirrors/git-for-windows/
卸载
直接反安装,然后清理环境变量
安装
无脑下一步,安装完毕即可使用
启动git
安装成功后 开始菜单有Git项,菜单下有3个程序。桌面右键也能看到。
Git Bash:Unix与Linux风格的命令行
Git CMD:Windows风格的命令行
Git GUI:图形界面的git
环境配置
Git配置
所有的配置文件其实都保存在本地!
Git相关的配置文件:
1)Git\etc\gitconfig :Git安装目录下的gitconfig --system 系统级
2)C:\Users\Administratot\.gitconfig 只适用于登录用户的配置 --global 全局
查看配置 :git config -l
查看系统配置:git config --system --list
查看本地配置:git config --global --list
,必须要配置!
设置用户名与邮箱(用户标识,必要)
每次Git提交都会使用该信息,它被永远的嵌入到你的提交中:
git config --global user.name "gehaochen" # 名称
git config --global user.email "ghc990408@163.com" # 邮箱
Git基本理论(核心)
工作区域
Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域。文件在这四个区域之间 转换关系如下:
- Workspace:工作区,就是平时存放项目代码的地方
- Index/Stage:暂存区,用于临时存放你的改动,事实上只是一个文件,保存即将提交到文件列表信息
- Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中 HEAD 指向最新放入仓库的版本
- Remote:远程仓库,托管代码的服务器
工作流程
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域;git add.
3、将暂存区域的文件提交到git仓库;git commit
4、推送到远程;git push
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
Git项目搭建
创建工作目录与常用指令
工作目录(WorkSpace)一般就是希望Git帮助你管理的文件夹,建议不要使用中文
日常使用记住下图6个命令:
本地搭建仓库
创建本地仓库的方法有两种:一种是创建全新的仓库,另一种是克隆远程仓库。
1、创建全新的你仓库,需要用GIT管理的项目的根目录执行:
# 在当前目录新建一个Git代码库
$ git init
2、执行后可以看到,在项目目录多出了一个 .git 目录,关于版本等的所有信息都在这个目录里面
克隆远程仓库
1、将远程服务器上的仓库完全镜像一份至本地
# 克隆一个项目和它的整个版本信息
$ git clone [url]
# test
$ git clone https://gitee.com/ge-haochen/MyBatis.git
Git文件操作
文件的四种状态
查看文件状态
# 查看指定文件状态
git status [filename]
# 查看所有文件状态
git status
# 添加所有文件到暂存区
git add .
# 提交暂存区中的内容到本地仓库 -m 提交信息
git commit -m "消息内容"
忽略文件
有时候我们不行把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等
在主目录下建立 .gitignore 文件,此文件有如下规则:
1.忽略文件的空行或以 # 开始的行将会被忽略
2.可以使用Linux通配符。例如:* 代表任意多个字符。? 代表一个字符。[abc] 代表可选字符范围
{string1,stirng2,…} 代表可选的字符串等。
3.如果名称的最前面有一个感叹号 ! ,表示例外规则,将不被忽略
4.如果名称的最前面有一个路径分隔符 / ,表示要忽略的文件在此目录下,而子目录中的文件不忽略
5.如果 的最后面是一个路径分隔符 /,表示要忽略的是此目录下该名称的子目录,而非文件
# 为注释
*.txt # 忽略所有 .txt 结尾的文件
!lib.txt # 但是lib.txt除外
/temp # 仅忽略项目根目录下的TODO文件,不包括其他目录temp
build/ # 忽略 build/ 目录下所有文件
doc/*.txt # 忽略 doc/notes.txt 但不包括 doc/server/arch.txt
IDEA集成Git
1、新建项目,绑定git
- 将我们远程的git文件目录拷贝到项目中即可
2、修改文件,使用IDEA操作git
- 添加到暂存区
- commit提交
- push到远程仓库
3、提交测试
Git 分支
git分支中常用指令:
# 列出所有本地分支
git branch
# 列出所有远程分支
git branch -r
# 新建一个分支,但依然停留在当前分支
git branch [branch-name]
# 新建一个分支,并切换到该分支
git checkout -b [branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
多个分支如果并行执行,就会导致代码不冲突,也就是同时存在多个版本!
如果同一个文件在合并分支时都被修改了则会引起冲突,解决方法就是我们可以修改冲突文件后重新提交!选择要保留哪一个代码。
master主分支应该非常稳定,用来发布新版本,一般情况下不允许在上面工作,工作一般情况下在新建的dev后,或者说分支代码稳定后可以合并到主分支master上来。