git多分支、git远程仓库、ssh方式连接远程仓库、协同开发(避免冲突)、解决协同冲突(多人在同一分支开发、 合并分支)

1 git多分支

2 git远程仓库

2.1 普通开发者,使用流程

3 ssh方式连接远程仓库

4 协同开发

4.1 避免冲突
4.2 协同开发

5 解决协同冲突

5.1 多人在同一分支开发
5.2 合并分支

1 git多分支

在这里插入图片描述

## 命令操作分支-1 创建分支git branch dev-2 查看分支git branch-3 分支合并(可能经常用)git merge dev  # 需要在master分支上,合并dev-4 删除分支git branch -d 分支名   # 不能在当前分支上,删除当前分支-5 分支切换git checkout 分支名

2 git远程仓库

在这里插入图片描述

# github  gitlab  gitee
# 远程仓库以:gitee 为例,目标:把luffy_api提交到远程仓库----远程仓库是空的情况- 1 在gitee上创建了仓库 (确保仓库是空的)- 2 本地:git init- 3 本地:git commit -m 提交版本- 4 指定远程仓库地址# 添加一个远程仓库,名字叫origin 地址是 后面地址-git remote add origin https://gitee.com/liuqingzheng/luffy_api.git-5 推送到远端git push  origin master# 弹出:让你输入用户名和密码---》gitee的用户名密码# 远程仓库有东西的情况1 本地先不做仓库---.git 删除2 找个位置,把远程仓库内容下载git clone https://gitee.com/liuqingzheng/luffy_api.git3 把我们写好的代码,复制到这个文件夹下4 提交到本地仓库git add .   git commit -m5 推送到远程仓库git push origin master# 本地还没开始写代码,远端建仓库(有东西)-把远端仓库下载下来,用pycharm打开,写代码--本地提交--提交到远程# 现在公司里有个项目了,写了很多代码了,也用版本管理了-远程仓库一定是空-本地的不要删---》直接提交到远程---》远程也有之前的版本管理# 在公司里,这些都不用你做,创建仓库,提交初始化的代码都是领导做好了-你只需要从远程仓库,下载代码:git clone-用pycharm打开,继续写--提交即可

在这里插入图片描述

2.1 普通开发者,使用流程

# 1 领导会把你的账户添加为开发者
# 2 下载代码到本地--》在这个基础上开发-方式一命令:git clone https://gitee.com/vip-linjun/luffy_api.git-方式二:使用pycharm下载-先配置git-方式三:下载zip,下载后使用pycharm打开
# 3 使用pycharm打开-写代码,提交到本地仓库-提交到远程仓库

在这里插入图片描述

3 ssh方式连接远程仓库

# 之前,提交,拉取代码 都是走的https协议# 公司内部,一般会走 ssh协议,以后不需要用户名密码了,只需要ssh的公钥和私钥-非对称加密# 操作步骤- 1 生成公钥私钥ssh-keygen -t ed25519 -C "xxx@qq.com"  -2 用户家路径,生成的公钥和私钥-C:\Users\Administrator\.ssh-3 复制你的公钥,配置在gitee上-设置---》添加ssh公钥,把公钥粘贴,确定-4 以后,再操作git,不需要用户名密码了(走的是公钥和私钥)---》只针对于你这台机器-5 把远程仓库的连接,修改成ssh协议# 把原来的remote的对应关系删除git remote remove origin# 新增一个对应关系,协议是sshgit remote add origin git@gitee.com:vip-linjun/luffy_api.git-6 以后本地改了代码,提交到本地版本库,想推送到远程仓库,直接 git push即可,不需要再输入用户名密了# 总结:你们到公司后,使用git流程1 注册个账户---》gitlab---》(有可能右同时给你注册了,密码得改)2 领导会把你加成开发者3 进入到你的家里,你就能看到这个项目了4 项目clone到本地-https方式:git clone https://gitee.com/vip-linjun/luffy_api.git-ssh方式:git clone git@gitee.com:vip-linjun/luffy_api.git5 在本地生成公钥私钥,把公钥配置在gitlab6 以后,在pycharm中打开项目写功能,提交到本地,提交到远端即可

4 协同开发

在这里插入图片描述

4.1 避免冲突

假设:
张三:改了 settings.py  第一行,提交了李四:改了 settings.py 第二行,提交了你也在改setting.py ,没有拉取代码,不知道他们提交了,动了第二行,但是跟李四代码不一样
你要提交,必须先拉取,一拉,把张三的,李四的都会加到你代码中,就会出冲突#### 如果你想避免冲突,勤拉取代码

4.2 协同开发

# 同学一:git clone 项目pycharm打开写代码:__init__.pygit add .   #  当前目录下有个venv文件夹--》删除这个文件夹git commit -m 'ss' # 设置用户名和邮箱git push origin master  # 推不上去  git pull origin master# 同学二在pycharm中改代码改的不是同一个文件git add .git commit -m 'sasdfasd'git pull origin master  # 由于我们改了不是同一个文件,不会冲突git push origin master  # 把自己的推上去即可

5 冲突解决

5.1 多人在同一分支开发

# 同学一:git clone 项目pycharm打开写代码:__init__.py ,第五行,改成 print('阿斯顿发送到发')git add .   #  当前目录下有个venv文件夹--》删除这个文件夹git commit -m 'ss' # 设置用户名和邮箱git push origin master  # 推不上去  git pull origin master# 同学二在pycharm中改代码改的是同一个文件,不同行   print('aaa')git add .git commit -m 'sasdfasd'git pull origin master  # 由于我们改了是同一个文件,会冲突<<<<<<< HEAD   # 下面是我的代码print('asdfasdfads')=======   # 下面是别人代码print('tang')>>>>>>> 2174bd1a466536dda553ba3835cfd9768ae32be0 # 别人代码的版本号删除报错,看代码,如果改的一样,就留别人的,把自己的代码删除git add .git commit -mgit push origin master

5.2 合并分支

在这里插入图片描述

# 操作步骤git branch dev# 在dev分支操作git checkout dev在settings.py最后写代码git add.git commit -m 'dev加代码'# 在master分支操作git checkout master在settings.py最后写代码git add.git commit -m 'master加代码'# 合并分支出冲突git merge dev  # 出冲突了,解决冲突,再提交git add .git commit -m

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/154701.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app:文本超出部分用省略号表示

效果 前 后 核心代码 white-space: nowrap; /* 强制不换行 */ text-overflow: ellipsis; /* 超过部分省略号代替 */ overflow: hidden; /* 必须同时设置overflow:hidden才能生效 */ 完整代码 <template><view><view class"all_style"><view c…

Maven 自动化构建

自动化构建定义了这样一种场景: 在一个项目成功构建完成后&#xff0c;其相关的依赖工程即开始构建&#xff0c;这样可以保证其依赖项目的稳定。 比如一个团队正在开发一个项目 bus-core-api&#xff0c; 并且有其他两个项目 app-web-ui 和 app-desktop-ui 依赖于这个项目。 …

云剪辑解决方案,支持云端剪辑私有化部署

在当今的商业环境中&#xff0c;视频已经成为了企业宣传和品牌推广的重要工具。然而&#xff0c;视频制作技术开发部署的成本和复杂性却让许多企业望而却步。为了解决这个问题&#xff0c;美摄科技推出了云剪辑解决方案&#xff0c;这是一款专为企业设计的高效视频剪辑技术服务…

SQL:left join、right join 究竟什么区别?

1、SQL join 分三种 1&#xff09;inner join&#xff08;内连接&#xff0c;也叫等值连接&#xff09; 显示两个表中有联系的所有数据&#xff0c;是默认方式。 2&#xff09;cross join&#xff08;交叉连接&#xff09; 两个表格做笛卡尔积&#xff0c;显示的数据行数是…

发行版兴趣小组季度动态:Anolis OS 支持大热 AI 软件栈,引入社区合作安全修复流程

发行版兴趣小组&#xff08;Special Interest Group&#xff09; &#xff1a;旨在为龙蜥社区构建、发布和维护一个稳定的操作系统发行版。 秋天的季节&#xff0c;发行版兴趣小组在 AI、安全、国产 OS 领域同样也是硕果累累。一起来看一下第三季度发行版兴趣小组的成果总结有…

CrossOver2024中文免费版虚拟机软件

苹果笔记本不能用windows吗&#xff0c;让苹果电脑支持win系统&#xff0c;是很多苹果用户关心的问题。苹果笔记本是指使用macOS操作系统的苹果公司生产的笔记本电脑&#xff0c;而windows是微软公司开发的另一种操作系统。两者有什么区别&#xff0c;如何在苹果笔记本上安装和…

项目进展(十)-解决ADS1285在调试时出现的问题

一、解决大坑 在项目进展&#xff08;九&#xff09;-完善ADS1285代码这边博客中&#xff0c;看似解决了问题&#xff0c;可以去读数据&#xff0c;但是其实是给自己挖大坑&#xff0c;这边博客就是来填坑的。   首先呢&#xff0c;上篇博客说的是用0x12指令来读取数据&#…

生产环境中常用Linux命令

太简单的我就不讲解啦,浪费时间,直接将生产中常用的 文章目录 1.总纲2.整机 top3.CPU vmstat3. 内存 free4. 硬盘: df5. 磁盘IO iostat6. 网络IO ifstat7: 内存过高的情景排查 1.总纲 整机:topcpu:vmstat内存:free硬盘:df磁盘io: iostat网络io:ifstat 2.整机 top 首先们要查…

vue自定义防抖指令

main.js中 Vue.directive(throttle, {bind: (el, binding) > {let throttleTime binding.value; // 防抖时间if (!throttleTime) { // 用户若不设置防抖时间&#xff0c;则默认2sthrottleTime 2000;}let cbFun;el.addEventListener(click, event > {if (!cbFun) { // …

apifox的使用以及和idea集成

apifox 简介 Apifox 是 API 文档、API 调试、API Mock、API 自动化测试一体化协作平台&#xff0c;定位 Postman Swagger Mock JMeter&#xff0c;由此可见apifox集功能于一身&#xff0c;极大的提升了我们开发的效率&#xff0c;不用再为postman网络连接失败而发愁&…

节能减排 | AIRIOT智慧工厂节能管理解决方案

工厂作为高能耗的生产型企业&#xff0c;降低能耗和提升资源利用率方面就显得很重要&#xff0c;对实施国家倡导的节能降耗、绿色发展有着很大程度上的必要性。然而&#xff0c;工厂能源管理从传统手段向智能化升级转型的过程中&#xff0c;企业也不可避免的面临一些痛点和挑战…

优思学院|八大浪费深度剖析

在工作流程中消除浪费是精益思想的目标。在深入探讨八大浪费之前&#xff0c;了解浪费的定义至关重要。浪费是指工作流程中的任何行动或步骤&#xff0c;这些行动或步骤不为客户增加价值。换句话说&#xff0c;浪费是客户不愿意为其付费的任何过程。 最初的七大浪费&#xff0…

Gradle基础

文章目录 Gradle 项目目录结构Gradle 创建第一个项目Gradle 中的常用指令修改maven 下载源Wrapper 包装器GradleWrapper 的执行流程&#xff1a; 在 idea 中创建普通java 工程 Gradle 项目目录结构 radle 项目默认目录结构和Maven 项目的目录结构一致,都是基于约定大于配置【C…

js的BoM事件(二)

js的BoM事件&#xff08;二&#xff09;&#xff0c;上一篇的补充 一.alert,confirm二.prompt三.open四.close 一.alert,confirm 实例&#xff1a; alert(hi); confirm(message);二.prompt <body><button ></button><script>var btndocument.querySe…

git基础

Git 版本控制 什么是版本控制 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 除了项目源代码&#xff0c;你可以对任何类型的文件进行版本控制。 为什么要版本控制 有了它你就可以将某个文件回溯到之前的状态&#xff0c;甚…

汇编实现点灯实验

.text .global _start _start: 设置GPIOF寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0]ORR R1,R1,#(0x1<<5)STR R1,[R0]设置GPIOE寄存器的时钟使能LDR R0,0X50000A28LDR R1,[R0] 从r0为起始地址的4字节数据取出放在R1ORR R1,R1,#(0x1<<4) 第4位设置为1STR R1,[…

[ROS2系列] ubuntu 20.04测试rtabmap

目录 背景&#xff1a; 一、配置 turtlebot3 二、安装RTAB-Map ROS2包&#xff1a; 三、启动 Turtlebot3 模拟器&#xff1a; 四、启动 RTAB 地图&#xff1a; 五、启动导航&#xff08;nav2_bringup应安装软件包&#xff09;&#xff1a; 背景&#xff1a; 1、设备&…

什么是国密证书?

国密证书是指中国自主研发的密码算法和加密技术所生成的数字证书。它是为了保护国家信息安全而开发的一种电子证书标准。 国密证书采用了国际上通用的X.509v3标准&#xff0c;但具有自己独特的密码算法和密钥长度。这些算法和密钥长度在国际上被广泛接受并认可&#xff0c;同时…

ansible 调研

参考&#xff1a;自动化运维工具——ansible详解&#xff08;一&#xff09; - 珂儿吖 - 博客园 (cnblogs.com) ansible是新出现的自动化运维工具&#xff0c;基于Python开发&#xff0c;集合了众多运维工具&#xff08;puppet、chef、func、fabric&#xff09;的优点&#xf…

Jetson Orin NX 开发指南(3): 安装 ROS 系统

一、前言 由于本专栏主要介绍如何将 Jetson Orin NX 作为自主无人机的机载电脑&#xff0c;因此需要 ROS 操作系统来实现各个模块的衔接&#xff0c;ROS支持在Linux系统上安装部署&#xff0c;因为ROS与Ubuntu兼容性最好&#xff0c;使用它的首选开发平台是Ubuntu&#xff0c;…