git多分支
1.查看分支
git branch
git branch -a
2.创建分支
git branch dev
3.切换分支
git checkout 分支名字
4 删除分支
git branch -d 分支名
5 合并分支操作步骤
1.创建dev分支,并切换
git branch dev
git checkout dev
2.在dev分支上创建一个xx.txt,加入内容:touch xxx.txt
3.对新增的内容提交
git add .
git commit -m 'dev分支增加了xx.txt'
4.再修改存在的nana.txt文件内容,并提价
修改lqz.txt 加入一样
git add .
git commit -m 'lqz.txt 加入内容'
5.切回到主分支(增的东西,都没有)
git checkout main
ps:新增的文件,看不到
6.把dev合并到master上,要在master身上
git merge dev
ps:主分支和dev分支就一样了
ps:mac常用终端命令:https://www.jianshu.com/p/78fbaf22c357

git远程仓库
1.我们要协同开发,代码要提交到远程仓库,可以使用gitee,github,gitlab,本文以gitee为例
2.基本使用
1.注册账号
2.在账号中,新建一个仓库 [本地仓库,推送到远程仓库]
3.如图所示 ---->[如果创建远程仓库不是空的,就会有问题]
4.本地仓库,推到远端(gitee自动)
1.本地已经有了
"""
git remote 查看有哪些远程仓库
git remote remove origin # 删除本地跟远程仓库的链接关系
"""
"""
gitee里面的提示的:
cd existing_git_repo
git remote add origin https://gitee.com/luona-cx/nana.git
git push -u origin "main"
"""
git remote add 远程仓库名字 远程仓库地址
git push origin master
2.弹出框,要求输入用户名和密码(之前输入过,保存了)
3.本地仓库代码就会被推送到远端了
ps:git push -u origin master 中-u的意思是,只要执行一遍这个命令,以后执行git push 就等同于git push origin maste,所有-u表示设置一个默认

remote源操作
1.查看仓库已配置的远程源
git remote
git remote -v
2.查看remote命令帮助文档
git remote -h
3.删除远程源
git remote remove 源名
eg: git remote remove origin
4.添加远程源
git remote add 源名 源地址
git remote add orgin https://gitee.com/liuqingzheng/app01.git
5.提交代码到远程源
git push 源码 分支名
6.克隆远程源
git clone 远程源地址
ps:
1.通过克隆方式连接远程源,默认远程源名就叫origin;所以主动添加远程源来连接远程仓库,源码也用origin
2.本地一个仓库只需要和远程一个源进行同步,所以只需要连接一个远程源,如果还想把本地代码同步给第三个平台,那么可以通过主动添加远程源来连接第三个平台的远程仓库,此时的源码就不能再叫origin了,比如online都可以
3.pull和push都可以提供选择不同的源码,和不同的远程仓库交互
ssh方式链接远程仓库
简介
1.远程仓库推送,走的都是https的协议,需要用户名密码
2.加密算法:对称加密、非对称加密
对称:AES,DES-->是将信息使用一个密钥进行加密,解密时使用同样的密钥,同样的算法进行解密。
非对称:-->又称公开密钥加密,是加密和解密使用不同密钥的算法,广泛用于信息传输中。
3.公司里,常用ssh协议方式推送代码
特点:
1.它不需要用户名密码,而需要:公钥私钥【非对称加密】
2.在本地机器生成公钥【可以给任何人】和私钥【自己留着】
ps:git@gitee.com:luona-cx/nana.git
具体操作
1.先删除原来使用https链接的remote
git remote remove origin
2.增加一个跟远程仓库的链接 origin --->是ssh协议的
git remote add origin git@gitee.com:liuqingzheng/lqz.git
3.本地机器,生成公钥私钥[使用命令生成]
文档:https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
1.打开cmd 执行 ,一路回车
ssh-keygen -t ed25519 -C "863942169@qq.com"
2.用户根路径,生成 .ssh文件夹,里面有公钥和私钥
"""
ssh-keygen -t ed25519 -C "863942169@qq.com"
ls ~/.ssh/
cat ~/.ssh/id_ed25519.pub
"""
4.设置公钥:用户可以通过主页右上角 「个人设置」->「安全设置」->「SSH 公钥」->「添加公钥」,添加生成的 public key 添加到当前账户中。-->可以配多个
https://gitee.com/profile/sshkeys
5.以后放心大胆的
git push origin main
实际
1.用gitlab,可能你自己注册账号,也可能别人直接给你注册号了,你直接登录,修改密码即可
2.登录gitlab能看到代码仓库,仓库的所有者[你们领导],会把你加成这个仓库的【开发者】
3.基于这个仓库继续开发,提交代码
4.ssh方案:本地生成公钥私钥【本地有了,就不用重新生成了】
5.把公钥,配置在自己的gitlab账号里面
6.以后就免密对仓库有操作权限了
协同开发
1.仓库管理员[领导],创建仓库,邀请成员,成为开发者
2.被邀请的人,登录自己账号,就能看到仓库了
4.1 多人协同开发
1.从远端克隆代码
git clone ssh地址
2.进到文件夹中,改东西
3.git add .
4.git commit -m '改了一行'
5.git pull origin master
6.git push origin master
ps:多人操作统一仓库,就是协同开发,但是咱们这个操作,没有遇到冲突
冲突解决
1.出现冲突的原因
1.多人在同一分支,修改了同一个地方的代码,出现的冲突
2.分支合并时出冲突
2.多人统一分支开发,修改了同样的代码
eg:
某人修改了1.txt的第四行,提交了
我操作:
修改了1.txt第四行
-git add .
-git commit -m ' 注释'
-git pull origin master
-出冲突了
<<<<<<< HEAD
我的代码
=======
别人的代码
>>>>>>> af38b6ae4d9e126bd88b9b039e475e8ddbc23510
3.处理冲突
1.选择要保留的代码,要么删自己的,要么删别人的,要么都留着
2.重复操作
git add .
git commot -m '解决冲突'
git push origin master
ps:大原则,多人同一分支开发,如果尽量避免冲突,要不停的拉去代码
分支合并出冲突
背景:主分修改某一文件的内容(在1.txt最后一行加123),dev分支在这个文件相同位置加入了内容,会出现分支合并出冲突
1.新建dev分支,切换,增加代码,提交
git branch dev
git checkout dev
在1.txt最后一行增加 123
git add
git commit -m '注释'
2.切换回主分支操作
git checkout master
3.在主分支增加内容,提交
在1.txt最后一行增加 123456
git add
git commit -m '注释'
4.合并分支 -出冲突了
<<<<<<< master
我的代码
=======
别人的代码
>>>>>>> dev
5.解决冲突,提交
git add
git cmommit