git 多分支,git远程仓库,ssh方式连接远程仓库, 协同开发,冲突解决, 线上分支合并,远程仓库回滚
git 多分支
1.创建分支
>: git branch 分支名
2.查看分支
>: git branch
3.切换分支
>: git checkout 分支名
4.创建并切换到分支
>: git checkout -b 分支名
5.删除分支
>: git branch -d 分支名
6.查看远程分支
>: git branch -a
7.合并分支
>: git merge 分支名
把dev分支合并到master分支:切换到master分支,执行合并dev分支的命令
"""
1)多个开发者都是在一个分支上进行开发,不出意外,该分支一定叫dev(协同开发)
2)如果出现一个特殊任务(敏感任务),与正常业务关系不紧密,甚至可能大的影响正常的dev分支开发,可以依赖dev开一个子分支,进行开发,开发完毕后合并到dev分支,再删除该分支即可
3)所有的开发任务都可以在dev分支上进行(除非公司硬性要求不能直接在dev分支开发,只能在dev子分支开发,测试通过后才能合并给dev)
"""
git远程仓库
把本地的版本提交到仓库上去
通过gitee,github,gitlab
gitlab搭建的过程:https://zhuanlan.zhihu.com/p/413217715
本地Git开发
1 在luffy_api 敲git init
2 设置忽略文件(.gitignore)
3 git add .
4 git commit -m '第一次提交'
------提交到了本地版本库-------被版本管理了
远程开发
1)你作为项目仓库初始化人员:
线上要创建空仓库 => 本地初始化好仓库 => 建立remote链接(remote add) => 提交本地仓库到远程(push)
2)你作为项目后期开发人员:
远程项目仓库已经创建成功 => 复制远程仓库到本地(clone) => 进入仓库就可以进行接下来的开发
1 远程要创建仓库:gitee上创建仓库,右上角 +
2 填一些信息,保证仓库是空的
本地:
1 安装远端提示的步骤操作
2 设置用户和邮箱
3 咱们是已有仓库,按照以下操作即可
cd luffy_api
# 添加一个远程仓库地址名字叫origin,地址是xxx
git remote add origin https://gitee.com/liuqingzheng/luffy_api.git
# 把本地的版本库推送到远程仓库
# 把本地当前所在分支,推送到 origin对应的远程的master上
git push origin master
# 需要输入用户名密码,输入一次,以后就不用输入了(本地保存了:凭据管理)
ssh方式连接远程仓库
官网:https://gitee.com/help/articles/4181#article-header0
本机命令,生成公钥:ssh-keygen -t rsa -C "*@*.com"
邮箱可以任意填写
本机命令,查看公钥:cat ~/.ssh/id_rsa.pub
码云线上添加公钥:项目仓库 => 管理 => 部署公钥管理 => 添加公钥 => 添加个人公钥
之前origin对应的地址是 https的,现在要使用ssh提交代码,需要把它删除,再增加成ssh的协议
# 先删除原先的ssh
git remote remove origin
# 添加一个远程仓库地址名字叫origin,地址是xxx
git remote add origin [email protected]:liuqingzheng/luffy_api.git
git remote add origin [email protected]:mei_ni_wang/luffy.git
# 把本地当前所在分支,推送到 origin对应的远程的master上
git push origin master
协同开发
如何成为其他码云项目的开发者
1)生成自己电脑的公钥,配置到自己的码云个人公钥中
2)把自己的码云用户名提供给别人,别人添加你成为项目开发者
3)自己确认添加,成为开发者,克隆开发项目,进行开发
我作为开发者,本地没有代码,该怎么做操作代码
1 把代码从远程仓库 clone 下来
git clone [email protected]:liuqingzheng/luffy_api.git
2 使用pycharm打开,配置好解释器,安装依赖
3 开发代码,开发完
git add
# 设置用户名和邮箱
git config user.name lqz
git config user.email [email protected]
git commit -m
git push origin master
如何成为公司自建git服务器的开发者
1)生成自己电脑的公钥(公钥生成一次就可以了),把它提交给项目管理者
2)项目管理者添加你公钥,加入开发者,提供给你项目克隆地址
3)克隆开发项目,进行开发
协同开发流程
1)作为开发者,第一次同步项目(前面已经是项目开发者了)
>: git clone 项目地址
2)保证自己本地有dev分支,且与远程仓库版本同步(没有就自己新建)
3)本地开发的代码,必须add、commit到本地版本库后,才和远程仓库进行交互
4)交互顺序:必须 先拉(pull)后提(push)
5)必须切换到要交互的分支,在与远程同名的分支进行交互,如本地dev与远程dev交互
>: git checkout dev
>: git add .
>: git commit -m '本次提交的信息提示'
>: git pull origin dev
>: git push origin dev
冲突解决
1)在远程仓库和本地仓库版本不一致时,拉取远程仓库版本到本地时,两个版本进入融合,可能会出现版本冲突
2)定位冲突文件冲突代码,线下沟通冲突代码,整合代码解决冲突
3)将解决冲突后的代码重新提交到本地版本库
4)再拉去远程仓库,直到没有冲突,提交本地版本库到远程
<<<<<<< HEAD # 冲突的开始
# 自己的代码
======= # 分割线
# 别人的代码
>>>>>>> b63c408abd05b87fc492d40523240561999dba50 # 冲突的结束(版本)
1)删除冲突相关标识:冲突的开始、分割线、冲突的结束(版本)
2)线下沟通,根据实际需求完成代码整合
3)测试整合后的代码
出现冲突的前提:
1)不同开发者同时操作了同一文件
2)并且在相同行写了代码
强调:有业务交际时,版本合并不一定会出现冲突相关的标识,但是可能会带着代码运行崩溃,所有理论上每一次版本合并,都要测试合并后的所有功能(及其之少的情况)
线上分支合并
# 线下分支合并
git merge dev
# 线上 分支合并
- gitee上,新建一个分支
-本地同步远程dev分支
git pull origin dev # 拉下来了,还看不到,只有切过去,才看的导
git checkout dev
-在dev上开发开发
随便加代码
git add
git commit
# 提交到本地的dev了
- 推到远端 dev
git push origin dev
-master中没有代码,dev中有提交的,现在要线上分支合并
-把远程的dev合并进远程的master
- 提交pr 提交rr
-在网站上,申请提交pull request
-领导审核,测试,通过后,点击合并
-线上dev就合并进线上的master了
远程仓库回滚
用dev分支举例
1)本地切换到远程要回滚的分支对应的本地分支
git checkout dev
2)回滚本地分支
git reset --hard 版本号
3)本地版本强行提交给服务器
git push origin dev -f
标签:origin,git,仓库,dev,远程,分支
From: https://www.cnblogs.com/zx0524/p/17173427.html