今日内容概要
- git多分支
- git远程仓库
- ssh方式连接远程仓库
- 协同开发
- 冲突解决
- 线上分支合并
- 远程仓库回滚
今日内容详细
git多分支
为什么要有分支
	可以保证主分支的版本都是可以查看的版本
	在分支开发 开发完成 合并到主分支
分支操作
	查看分支:
		git branch
	创建分支
		git branch 分支名
	切换分支
		git checkout 分支名
	删除分支
		git branch -d 分支名
	合并分支
		git merge 其他分支名
		如当前在master分支 要合并dev分支
		git merge dev
		合并分支的时候可能会出现冲突
git远程仓库
可以把本地仓库的版本提交到远程仓库
注册个远程仓库账号如gitee github... 并创建远程仓库
操作步骤
	本地:
		1.切换到项目目录下 敲git init 
		2.设置忽略文件(.gitignore)
		3.git add .
		4.git commit -m '注释'
		此时 整个项目就提交到了本地仓库 被版本管理了
	
	远程:
		1.创建远程仓库
		2.填写仓库信息 并保证仓库是空的
	本地:
		1.安装远程仓库的提示步骤操作
		2.设置用户和邮箱
			git config user.name '用户名'
			git config user.email '邮箱'
		3.切换到项目目录下 添加远程仓库
			git remote add 仓库名 仓库地址
			git remote remove 仓库名 # 删除远程仓库
		4.把本地仓库的版本推送到远程仓库
			git push 仓库名 分支名
			第一次需要输入用户名和密码 后续无需在数
如果项目提交了后 再写了忽略文件
	需要先删除对应文件 然后重新执行 add commit 这样后续对应的文件就会被忽略 不会被管理
ssh方式连接远程仓库
上一种方式需要输入用户名和密码才可以提交上去 使用的是https的协议提交的代码 
还有一种方式 无需输入用户名和密码 使用的是公钥和私钥 公司用的居多
就是ssh方式
	生成公钥私钥 可以参考:https://gitee.com/help/articles/4181
	在命令窗口执行
		ssh-keygen -t ed25519 -C "自己的邮箱"
		会生成在对应目录中 有两个文件 .pub结尾的是公钥
	将公钥配置在gitee上
	再连接远程仓库即可
		git remote add 仓库名 ssh地址
协同开发
项目可能不止一个人开发 需要多人协同开发 但是仓库是一个 所以需要仓库管理员邀请对应开发者 并做好权限
当有权限后
	1.把代码从远程仓库clone下来
		git clone 仓库地址
	2.使用对应开发软件打开 配置好 进行开发
	3.开发完成后 提交 先设置好用户名和邮箱
		git config user.name '用户名'
		git config user.email '邮箱' 
		git add .
		git commit -m '注释'
		git push 远程仓库名 分支
冲突解决
一旦多人协同开发 那么肯定就会出现冲突 主要的原因有
	1.多人在同一分支开发
	2.分支合并后出现冲突
出现冲突的样子
    <<<<<<< HEAD # 冲突开始
    我的代码
    ======= # 分割线
    别人的代码
    >>>>>>> 6f720edbd84c8744b1c7c10767fb89a5d0fa98f5 # 冲突结束
解决方式:
    1.删除冲突相关标识:冲突的开始、分割线、冲突的结束(版本)
    2.线下沟通,根据实际需求完成代码整合
    3.测试整合后的代码
想要避免出现冲突
	勤拉取代码
	git pull 仓库名 分支
线上分支合并
线下分支合并使用
	git merge 分支名
线上分支合并
	1.gitee上新建一个分支dev
	2.本地同步远程分支dev
		git pull origin dev
		git checkout dev
	3.本地在分支上随便加代码 并提交版本库
	4.推到远程仓库
		git push origin dev
	后续看图
![]()
远程仓库回滚
1.本地版本回退
	git reset --hard 版本号
2.将本地版本强行推到远程仓库
	git push 仓库名 分支名 -f