01 git介绍和软件安装及配置
//或者到360软件管家下载
第二个OpenSSH,其他都是一路点确定
//小乌龟设置中文
02 本地仓库和git基本概念
03 git服务器和远程仓库创建
不会科学上网的用Gitee
04 从服务器克隆仓库
Git默认使用开源的OpenSSH非对称加密
//生成密钥的2种方式
Git Bash SSH
Git GUI
//生成密钥的位置
//将公钥复制到云端
GitHub公钥
Gitee公钥
05 推送和拉取
远端URL:Https或SSH
小乌龟添加、提交并且推送的界面填写远端URL
拉取也是填写远端URL
//冲突,先拉取,防止远端文件时有变化的,再去推送
1-2、军情处的只有幽州地形的地图,被斥候A、B拉取了
3、斥候A探明并整合出“雍州+荆州”的地图,斥候B亦然幽州
4、斥候A先于B提交了地图,军情处的最新地图为“雍州+荆州”
此时,斥候B要先拉取最新的“雍州+荆州”,整合为“雍州+荆州+幽州”,再推送。
总结就是,军情处没有整合能力,要靠斥候整合
06 分支创建与合并
创建分支
01 当在分支A推送了文件“红楼梦”(原本只有三国演义、水浒传)
版本分支图
显示日志
切换为master的文件
//没有红楼梦
02 切换为master并推送“西游记”
版本分支图
显示日志
03 将A合并到master(两种方式)
//将A的“红楼梦”合并了过来
显示日志
版本分支图
07 解决冲突
创建分支时的“基于”
创建上游是master的分支A
//创建后的版本分支图
具体
1、master文本有“林黛玉”,提交;此时创建分支A,也提交(背景而已,写不写林黛玉都无所谓)
2、master添加“史湘云”,提交;切换为分支A,添加“薛宝钗”,提交
3、切换为master,合并,此时产生冲突
//发生冲突
解决方式1
//HEAD(master)写着“史湘云”;A写着“薛宝钗”。
//修改
// 提交、解决
//查看日志
//下图就是master(林黛玉,史湘云),A(林黛玉,薛宝钗),A合并到master的显示日志的变化
解决方式2
点击,在双击文件进去
//合并的位置(很多问号的位置),进行修改。然后保存,标记为已解决
//查看日志
结果
08 忽略
.gitignore
#忽略文件
*.mp3
#反忽略,比如根目录*.mp3,子母录!*.mp3就可以显示*.mp3
!*.mp3
#忽略文件夹,小乌龟里的提交,文件好像没显示
Temp/
/Assets/
//新建一个后缀.mp3的文件,提交后就不会显示.mp3后缀
09 版本回退
//移动HEAD
回退
//圈圈HEAD回退后再进来“忽略”已经没了
后悔回退
//基于标签回退
10 子模块
添加子模块
同步后的GameFramework
克隆有子模块的仓库
// 勾递归,不然该文件夹是空的
11 Issue和PullRequest
Issue
PullRequest
//要虚拟机麻烦,所以不演示了
程序员A在自己的电脑上,推送了代码,创建PullRequest
代码审核者在PullRequest上“审查通过”,“测试通过”,“合并(合并分支,扁平化分支)”