1 git 多分支
# 分支操作
'''
0 查看分支
git branch # 本地
git branch -a # 本地和远程
1 创建分支
git branch dev
2 切换分支
git checkout 分支名字
3.创建并切换到分支
git checkout -b 分支名
4 删除分支
git branch -d 分支名
5 合并分支 操作步骤
git branch dev # 新建一个名为dev的分支
git checkout dev # 将当前所处位置切换至dev分支
新增一个文件 xx.txt,加入一行 # 在dev分支中进行文件编辑
git add . # 工作区文件移至暂存区
git commit -m 'dev分支增加了xx.txt' # 暂存区文件移至版本库,git全面掌控
# lqz.txt加入一行,同上add和commit
git chenckout master # 切回到主分支(增的东西,都没有)
more xx.txt # 新增的文件,看不到
git merge dev # 把dev合并到master上,要在master身上! master主分支和dev分支就一样了
'''
2 git远程仓库
# 我们要协同开发,代码要提交到远程仓库,可以使用gitee,github,gitlab,本文以gitee为例
# Linux遵循GPL协议
1 以gitee为例,注册账号
2 在账号中,新建一个仓库 [本地仓库,推送到远程仓库]
3 如图所示 ----》[如果创建远程仓库不是空的,就会有问题]
4 本地仓库,推到远端
-本地已经有了
# git remote 查看有哪些远程仓库
# git remote remove origin 删除本地跟远程仓库的链接关系
# cd Documents/my-project 切换到本地该文件夹的路径
# git remote add 远程仓库名字 远程仓库地址
git remote add origin https://gitee.com/liuqingzheng/lqz.git
git push origin master # 把本地仓库中所有的内容,提交到远程仓库
# 弹出框,要求输入用户名和密码(之前输入过,保存了)
win:在控制面板的凭据管理中
mac:在钥匙串中
# 本地仓库代码就会被推送到远端了
"""
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 http://192.168.1.252/Yma/apple.git
5)提交代码到远程源
>: git push <远程主机名> <本地分支名>:<远程分支名>
如果本地分支名与远程分支名相同,则可以省略冒号
git push <远程主机名> <本地分支名>
eg:git push origin master
6)克隆远程源
>: git clone 远程源地址
"""
"""
1)通过克隆方式连接远程源,默认远程源名就叫origin;所以主动添加远程源来连接远程仓库,源码也用origin
2)本地一个仓库只需要和远程一个源进行同步,所以只需要连接一个远程源,如果还想把本地代码同步给第三个平台,那么可以通过主动添加远程源来连接第三个平台的远程仓库,此时的源码就不能再叫origin了,比如online都可以
3)pull和push都可以提供选择不同的源码,和不同的远程仓库交互
"""
3 ssh方式链接远程仓库
# 刚刚的远程仓库,推送,走的都是https的协议,需要用户名密码
# 加密方式
-对称:AES,DES
-非对称:
# 公司里,常用ssh协议方式推送代码
[email protected]:liuqingzheng/lqz.git
-它不需要用户名密码,而需要:公钥私钥【非对称加密】
-在本地机器生成公钥[可以给任何人]和私钥[自己留着]
# 具体操作
-1 先删除原来使用https链接的remote
-2 增加一个跟远程仓库的链接 origin ---》是ssh协议的
git remote add origin [email protected]:liuqingzheng/lqz.git
-3 本地机器,生成公钥私钥[使用命令生成]
-https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE
-打开cmd 执行 ,一路回车
ssh-keygen -t ed25519 -C "[email protected]"
- 用户家路径,生成 .ssh文件夹,里面有公钥和私钥
- 4 把公钥配置在gitee上【打开公钥】--》可以配多个
-https://gitee.com/profile/sshkeys
-5 以后放心大胆的
git push origin master # 提交代码即可
# 你在公司中
-1 用gitlab,可能你自己注册账号,也可能别人直接给你注册号了,你直接登录,修改密码即可
-2 登录gitlab能看到代码仓库,仓库的所有者[你们领导],会把你加成这个仓库的【开发者】
-3 基于这个仓库继续开发,提交代码
-4 ssh方案:本地生成公钥私钥【本地有了,就不用重新生成了】
-5 把公钥,配置在自己的gitlab账号里面
-6 以后就免密对仓库有操作权限了
4 协同开发
# 仓库管理员[领导],创建仓库,邀请成员,成为开发者
# 被邀请的人,登录自己账号,就能看到仓库了
4.1 多人协同开发
1 从远端克隆代码
2 进到文件夹中,改东西
3 git add .
4 git commit -m '改了一行'
5 git pull origin master # 拉去仓库中最新的代码 否则提交不了
6 git push origin master
# 多人操作统一仓库,就是协同开发,但是咱们这个操作,没有遇到冲突
5 冲突解决
# 出现冲突的原因
-1 多人在同一分支,修改了同一个地方的代码,出现的冲突
-2 分支合并时出冲突
# 1 多人同一分支开发,修改了同样的代码
-某人修改了1.txt的第四行,提交了
-我操作:
-修改了1.txt第四行
-git add .
-git commit -m ' 注释'
-git pull origin master
-出冲突了
<<<<<<< HEAD
我的代码
=======
别人的代码
>>>>>>> af38b6ae4d9e126bd88b9b039e475e8ddbc23510
-处理冲突
-选择要保留的代码,要么删自己的,要么删别人的,要么都留着
-重复操作
git add .
git commot -m '解决冲突'
git push origin master
'''
提示:您有偏离的分支,需要指定如何调和它们。您可以在执行下一次
提示:pull 操作之前执行下面一条命令来抑制本消息:
提示:
提示: git config pull.rebase false # 合并
提示: git config pull.rebase true # 变基
提示: git config pull.ff only # 仅快进
提示:
提示:您可以将 "git config" 替换为 "git config --global" 以便为所有仓库设置
提示:缺省的配置项。您也可以在每次执行 pull 命令时添加 --rebase、--no-rebase,
提示:或者 --ff-only 参数覆盖缺省设置。
'''
# 大原则,多人同一分支开发,如果尽量避免冲突,要不停的拉去代码
# 2 分支合并出冲突
# 新建dev分支,切换,增加代码
git branch dev
git checkout dev
在1.txt最后一行增加 lqz nb1
git add
git commit -m '注释'
# 切换回主分支操作
git checkout master
在1.txt最后一行增加 lqz nb2
git add
git commit -m '注释'
# 合并分支
-出冲突了
<<<<<<< master
我的代码
=======
别人的代码
>>>>>>> dev
# 解决冲突,提交
git add
git cmommit
作业
# git 多分支
# 2 配好远程仓库
# 3 ssh方式链接
# 4 你跟同桌俩人用一个仓库区制造冲突,然后解决
# 5 分支合并冲突,解决
-------
以上远程操控操作,使用gitlab
标签:origin,git,项目,仓库,05,dev,路飞,远程,分支
From: https://www.cnblogs.com/10086upup/p/17494699.html