一、Git简介
git是 项目版本管理 与 多人协同开发 的一个工具
项目版本管理
多人协同开发
Git安装
https://git-scm.com/ 一路next
全局配置
二、Git架构
三、Git基本操作
3.1、 基本操作
- 创建工作区
- 初始化git,生成本地仓库和暂存区 git init生成.git文件,目录下包含暂存区和本地仓库以及git的配置
- 代码编写
- 将文件提交到暂存区,暂时存储 git status:查看状态; **git add . **:加入暂存区 .号代表当前目录所有文件
- 将暂存区的代码提交到本地仓库,生成一个git版本 git commit -m’new a.txt b.txt’ -m备注本次提交 4/5步合并:git commit -am 'new a.txt b.txt’
- 看提交日志 详细日志信息git log 简洁日志信息git log --oneline
- 版本切换 git checkout {版本号}
3.2、远程仓库
1、远程仓库选择
2、gitee创建远程仓库
push本地仓库代码到远程仓库
git push {远程仓库地址} master:master :第一个master就是本地仓库的分支,第二个master是远程仓库的分支
关联
git remote add origin1 {远程仓库地址}
git push origin1 master:master
3、克隆远程仓库代码
克隆:将远程仓库的代码克隆到本地 git clone {远程仓库地址} -b master
-b:表示指定远程仓库的某个分支进行clone clone只做一遍
拉取:git pull origin1 master:master :第一个master是远程仓库的master分支,第二个master是本地仓库的分支
windows会缓存gitee的账户
4、多人协作代码冲突
pull(non-fast-forward)问题解决:
三方合并(原共有+1改+2改)
1.git fetch origin1 从远程获取.git最新版本到本地,不自动合并
2.git merge origin1/master 将远程的master手动合并到本地的master
3.合并可能(改同一个会报错)报错【conflit合并冲突】
4.人工协商【协商最终结果】
5.将合并的结果push到远程仓库
6.另一方将解决的结果pull下来 到此冲突解决完毕
先commit生成一个版本再去pull
四、Git分支
4.1、为什么要有分支
master用于只能存放可运行的版本,不能放半成品
4.2、查看分支
git branch 查看本地的分支
git branch -r 查看远程的分支
4.3、基于master创建分支
git branch {分支名称}
4.4、切换分支命令
git checkout {分支名称}
4.5、将分支推到远程协同开发
git push origin1 alipay:alipay 第一个alipay是本地分支,第二个alipay是远程仓库的分支,若远程仓库没有该分支,会自动创建该分支
4.6、alipay分支合并到master
1.切换到master分支 git branch master
2.合并(alipay->master) git merge alipay 在本地完成合并
3.push到远程仓库master分支 git push origin1 master:master
:wq 保存退出命令
快速合并
三方合并
5、idea中使用Git
5.1、关联
file-settings 关联过程是自动的
5.2、创建本地仓库
或者在terminal中执行git init命令
忽略文件或目录
忽略文件或目录【如果文件或目录加入了忽略列表,那么在add的时候以及在commit的时候该文件和目录直接忽略掉】
1.下载插件 .ignore
2.使用插件,协助创建.gitignore文件
.target文件的忽略 手动加入到.gitignore
5.3、提交到本地仓库
3.add与commit并备注
5.4、push到远程仓库
5.5、克隆
5.6、协同开发
push 与 pull
5.7、冲突演示和解决
5.8、分支操作
1.查看分支
2.新建分支
3.提交后 才受这个分支管理
4.merge
5.push
6.三方合并
六、多人协同开发
6.1、项目管理员(项目经理)
6.2、开发人员