当前位置: 首页 > news >正文

git远端协同开发、解决冲突、分支合并、gitlab使用、远程仓库回滚、为开源项目贡献代码、git工作流,git pull和git fetch,变基

协同开发

避免冲突

张三:改了 settings.py 第一行,提交了

李四:改了 settings.py 第二行,提交了

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

如果你想避免冲突,勤拉取代码

协同开发

同学一:
  1. git clone 项目
  2. pycharm打开
  3. git add .当前目录下有个venv文件夹 ⇢ \dashrightarrow 删除这个文件夹
  4. git commit -m 'ss'设置用户名和邮箱
  5. git push origin master推不上去
  6. git pull origin master需要先拉下来
同学二:
  1. 在pycharm中改代码
  2. 改的不是同一个文件
  3. git add .
  4. git commit -m 'ss'
  5. git push origin master 由于我们改了不是同一个文件,不会冲突
  6. git pull origin master

冲突解决

多人在同一分支开发

当推到远端发生冲突时,git pull origin master先将远端拉下来,删除报错,看代码,如果改的一样,就留别人的,把自己的代码删除

分支合并

操作步骤

  1. git branch dev创建分支
  2. git checkout dev切换到分支
  3. 修改代码
  4. git add.
  5. git commit -m '修改'
  6. git checkout master切换到主分支,分支合并只能在主分支
  7. git merge dev合并分支,出冲突了,解决冲突,再提交
  8. git add .
  9. git commit -m
    <>

gitlab使用

  1. 创建账号 ⇢ \dashrightarrow 管理员审核
  2. 登录进去 ⇢ \dashrightarrow 就能看到项目 ⇢ \dashrightarrow (项目管理员把你添加成开发者了)
  3. 把代码clone下来,使用pycharm打开
  4. 写代码,本地提交
  5. 推送到远端 ⇢ \dashrightarrow 先拉取代码

问题: 普通开发者,提交到master分支是不行的

  1. 创建一个dev分支 ⇢ \dashrightarrow 提交到dev分支
  2. 后期由管理员做分支合并 ⇢ \dashrightarrow 把dev合并到master中

线上分支合并

线下分支合并:git merge dev

线上分支合并

公司有个主分支 ⇢ \dashrightarrow 只保留大版本信息,真正的开发在dev分支开发

你开发的代码,提交到dev分支了,功能写完了,要给用户看了,把dev分支合并到主分支

  • 可以线下分支合并,合并完,推送上去 ⇢ \dashrightarrow 没有权限,只能仓库管理员来做
  • 线上分支合并:
    • 提交:pr:pull request mr:merge request

远端有分支,本地也有分支
  1. 远程创建,本地拉取
    • 本地执行:git pull origin devgit checkout dev
  2. 本地创建,提交到远端
    • 本地执行:git branch devgit checkout dev1git push origin dev1

操作步骤

  1. 远端创建dev分支
  2. 本地 git pull origin dev
  3. git branch 查看看不到,直接checkout 到dev分支就可以了
  4. dev分支写代码,本地提交,推送到远端dev
  5. 功能开发完了,普通开发者,提交pr
  6. 管理员点审查,测试通过 ⇢ \dashrightarrow 同意合并 ⇢ \dashrightarrow dev就合并到master
咱们分支结构

master dev bug

  1. 所有人在dev开发新功能,开发完,提交pr ⇢ \dashrightarrow 合并到master ⇢ \dashrightarrow 结束
  2. 每个人在自己分支开发,开发完,提交pr ⇢ \dashrightarrow 合并到dev ⇢ \dashrightarrow 你的功能开发完毕
  3. 管理员自己 提pr ⇢ \dashrightarrow dev和master

远程仓库回滚(你不要去做)

  1. 本地回到 初始化的状态(主分支)
    • git reset --hard 版本号
  2. 强制推送到远端
    • git push origin master
    • git push origin master -f 失败

为开源项目贡献代码

  1. fork 开源代码 ⇢ \dashrightarrow 你仓库就有这个代码
  2. clone你仓库的代码
  3. 写代码,提交到你仓库
  4. 你仓库,提交pr 你仓库的某个分支 合并到别人的某个分支
  5. 对方审核通过,同意,才ok

git工作流,git pull和git fetch,变基

  1. git 工作流:git flow ⇢ \dashrightarrow 分支方案
    • 我们没有采用
    • master dev bug
  2. git pull 和 git fetch
    • git pull 从远程仓库拉取代码:从远程获取最新版本并merge到本地
    • git fetch 从远程仓库拉取代码:会将数据拉取到本地仓库 - 它并不会自动合并或修改当前的工作
    • git pull =git fetch +merge

  3. 变基 rebase
    • 多个提交记录整合成一个
    • 解决多次合并分叉问题

相关文章:

git远端协同开发、解决冲突、分支合并、gitlab使用、远程仓库回滚、为开源项目贡献代码、git工作流,git pull和git fetch,变基

协同开发 避免冲突 张三&#xff1a;改了 settings.py 第一行&#xff0c;提交了 李四&#xff1a;改了 settings.py 第二行&#xff0c;提交了 你也在改setting.py ,没有拉取代码&#xff0c;不知道他们提交了&#xff0c;动了第二行&#xff0c;但是跟李四代码不一样 你要…...

ims-go项目搭建

通过集成开发工具Goland创建项目 整合Gin框架&#xff0c;在终端中输入如下命令&#xff1a; go get -u github.com/gin-gonic/gin 整合Gorm&#xff0c;安装命令如下&#xff1a; go get -u gorm.io/gorm 安装sqlserver驱动&#xff0c;安装命令如下&#xff1a; go get -u…...

2022最新版-李宏毅机器学习深度学习课程-P26 Recurrent Neural Network

RNN 应用场景&#xff1a;填满信息 把每个单词表示成一个向量的方法&#xff1a;独热向量 还有其他方法&#xff0c;比如&#xff1a;Word hashing 单词哈希 输入&#xff1a;单词输出&#xff1a;该单词属于哪一类的概率分布 由于输入是文字序列&#xff0c;这就产生了一个问…...

【Qt控件之QButtonGroup】概述及使用

概述 QButtonGroup 类提供了一个容器来组织一组按钮部件。 QButtonGroup 提供了一个抽象容器&#xff0c;可以将按钮部件放置其中。它不提供此容器的可视表示&#xff08;请参见 QGroupBox&#xff0c;用于容器部件&#xff09;&#xff0c;而是管理组中每个按钮的状态。 一个…...

【开源分享】基于Html开发的房贷计算器,模仿新浪财经

房贷计算器是一种房贷计算的在线计算Web应用&#xff0c;按用户选择的贷款类型、贷款金额、期限、利率可计算得出每月月供参考、支付利息、还款总额这些信息。本文模仿新浪财经开发的房贷计算器。 作品预览 https://fangdai.gitapp.cn 源码地址 https://github.com/geeeeeee…...

ftp文件上传缓慢问题

问题描述 某环境下&#xff0c;通过vsftp上传文件缓慢。 问题分析 这个问题是由于服务器DNS导致&#xff0c;如果在内网机器中&#xff0c;配置了公网的DNS或者其他不能链接的DNS&#xff0c;会导致上传缓慢。 解决方案 目前有两种解决方式&#xff0c;任选其一即可&#…...

【周末闲谈】VR新视界,“眼”见未来

个人主页&#xff1a;【&#x1f60a;个人主页】 系列专栏&#xff1a;【❤️周末闲谈】 系列目录 ✨第一周 二进制VS三进制 ✨第二周 文心一言&#xff0c;模仿还是超越&#xff1f; ✨第二周 畅想AR 文章目录 系列目录前言虚拟现实(VR)技术虚拟现实技术的原理虚拟现实技术发…...

CSRF和XSS是什么?

CSRF&#xff08;Cross-site request forgery&#xff09;&#xff1a;跨站请求伪造。 用户是网站A的注册用户&#xff0c;且登录进去&#xff0c;于是网站A就给用户下发cookie。 满足条件&#xff1a; &#xff08;1&#xff09;登录受信任网站A&#xff0c;并在本地生成Cook…...

【Machine Learning】01-Supervised learning

01-Supervised learning 1. 机器学习入门1.1 What is Machine Learning?1.2 Supervised learning1.3 Unsupervised learning 2. Supervised learning2.1 单元线性回归模型2.1.1 Linear Regression Model&#xff08;线性回归模型&#xff09;2.1.2 Cost Function&#xff08;代…...

《视觉 SLAM 十四讲》V2 第 8 讲 视觉里程计2 【如何根据图像 估计 相机运动】【光流 —> 直接法】

OpenCV关于 光流的教程 文章目录 第 8 讲 视觉里程计 28.2 光流8.3 实践&#xff1a; LK 光流 【Code】本讲 CMakeLists.txt 8.4 直接法8.5 实践&#xff1a; 双目的稀疏直接法 【Code】8.5.4 直接法的优缺点 习题 8√ 题1 光流方法题2题3题4题5 第 8 讲 视觉里程计 2 P205 …...

Unity DOTS System与SystemGroup概述

最近DOTS终于发布了正式的版本, 我们来分享以下DOTS里面System关键概念&#xff0c;方便大家上手学习掌握Unity DOTS开发。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希望大家可以点击进来一起交流一下开发经验呀&#xff01; System是迭代计算与处理World中的…...

IDEA使用内置database数据库连接mysql报错:javax.net.ssl.SSLHandshakeException

参考一些博客的方式&#xff1a; 使用idea内置database连接数据库报错javax.net.ssl.SSLHandshakeException: No appropriate protocol_idea database ssl_你当像山的博客-CSDN博客 他们的方式是&#xff1a;在url后添加useSSLfalse 介绍另外一种方式&#xff1a; 点击datab…...

从Flink的Kafka消费者看算子联合列表状态的使用

背景 算子的联合列表状态是平时使用的比较少的一种状态&#xff0c;本文通过kafka的消费者实现来看一下怎么使用算子列表联合状态 算子联合列表状态 首先我们看一下算子联合列表状态的在进行故障恢复或者从某个保存点进行扩缩容启动应用时状态的恢复情况 算子联合列表状态主…...

CSS3 按钮

创建 CSS3 按钮可以通过组合样式属性和伪类来实现 <!DOCTYPE html> <html> <head><link rel"stylesheet" type"text/css" href"styles.css"> </head> <body><button class"basic-button">…...

STM32 BootLoader设置

编写bootloader程序&#xff1a; 直接复制下面代码到自己程序中。 typedef void (*iapfun)(void); //定义一个函数类型的参数. iapfun jump2app; //设置栈顶地址 //addr:栈顶地址 __asm void MSR_MSP(u32 addr) {MSR MSP, r0 //set Main Stack valueBX r14 }//跳转到…...

django REST framework-使用与不使用的区别?

首先&#xff0c;来回顾一下传统的基于模板引擎的 django 开发工作流&#xff1a; 绑定 URL 和视图函数。当用户访问某个 URL 时&#xff0c;调用绑定的视图函数进行处理。 编写视图函数的逻辑。视图中通常涉及数据库的操作。 在视图中渲染 HTML 模板&#xff0c;返回 HTTP 响应…...

获取URL中的参数

获取URL中的参数 function getUrlParam(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)");var r window.location.search.substr(1).match(reg);if (r ! null)return unescape(r[2]);return null; } 这个正则表达式就是一个URL路…...

一起学数据结构(9)——二叉树的链式存储及相关功能实现

目录 1. 二叉树的链式存储&#xff1a; 2. 二叉树的前序遍历&#xff1a; 3. 二叉树的中序遍历&#xff1a; 4. 二叉树的后序遍历&#xff1a; 5. 统计二叉树的结点总数 6.统计二叉树的叶子结点数&#xff1a; 7. 统计二叉树第层的结点数量&#xff1a; 8. 二叉树的销毁…...

vue 后端返回二进制流-前端通过blob对象下载文件-图片

前言 在实际开发中我们经常会遇见下载文件的场景&#xff0c;比如下载合同&#xff0c;下载文件 下载文件有2种方式&#xff0c;一种是后端返回二进制流&#xff0c;前端通过blob对象接受根据不同类型下载 还有一种把地址直接在浏览器新窗口打开浏览器打开pdf可以预览和下载&…...

vue el-dialog封装成子组件(组件化)

前言 实际开发过程中我们经常听见组件化开发&#xff0c;但在实际开发过程中&#xff08;没有人审查时&#xff09;怎么方便来 我们有时是因为时间不够&#xff0c;所以把所有代码写在一个页面。当业务逻辑复杂时可能会有1k多行 虽然不能要求自己写出高效复用性高的组件&…...

MAA明日方舟自动化工具终极指南:如何一键解放双手轻松长草

MAA明日方舟自动化工具终极指南&#xff1a;如何一键解放双手轻松长草 【免费下载链接】MaaAssistantArknights 《明日方舟》小助手&#xff0c;全日常一键长草&#xff01;| A one-click tool for the daily tasks of Arknights, supporting all clients. 项目地址: https:/…...

激光雷达仿真:禾赛与NVIDIA联手,如何用数字孪生重塑自动驾驶研发?

1. 项目概述&#xff1a;当激光雷达遇上数字孪生最近&#xff0c;禾赛科技和NVIDIA的合作又往前迈了一大步&#xff0c;这事儿在自动驾驶圈子里挺受关注的。简单来说&#xff0c;就是禾赛的激光雷达模型&#xff0c;现在可以直接在NVIDIA的DRIVE Sim仿真平台里调用了。这意味着…...

Eviews面板数据回归实战:手把手教你用Hausman检验搞定固定效应与随机效应模型选择

Eviews面板数据回归实战&#xff1a;Hausman检验在固定与随机效应模型选择中的应用 计量经济学研究中&#xff0c;面板数据分析因其能同时捕捉时间和个体维度的信息而备受青睐。但面对固定效应(FE)和随机效应(RE)模型的选择&#xff0c;许多研究者常常陷入困惑。本文将带您深入…...

蚂蚁百灵 Ring-2.6-1T 开源解析:万亿级思考模型如何实现「按需推理」

引言 2026年5月,蚂蚁百灵团队正式开源了其旗舰级思考模型 Ring-2.6-1T,这是一款拥有万亿参数的推理模型,在 AIME 2026 数学竞赛基准测试中取得了 95.83分 的惊人成绩,一跃成为国产开源 Agent 模型的新里程碑。更值得关注的是,该模型首次引入了 可调节的 Reasoning Effort…...

从‘亮灯’到‘定位’:一个真实商用车J1939故障排查全记录(含DM1多包传输解析)

从‘亮灯’到‘定位’&#xff1a;一个真实商用车J1939故障排查全记录&#xff08;含DM1多包传输解析&#xff09; 1. 故障现象与初步诊断 那是一个普通的周二早晨&#xff0c;维修车间接到一辆6x4牵引车的报修单——仪表盘上的MIL&#xff08;故障指示灯&#xff09;持续点亮。…...

Analog Discovery 2:口袋实验室如何用FPGA重塑硬件调试体验

1. 口袋里的实验室&#xff1a;为什么我们需要Analog Discovery 2&#xff1f;作为一名在硬件开发一线摸爬滚打了十多年的工程师&#xff0c;我太熟悉那种面对复杂项目时&#xff0c;被实验室设备“卡脖子”的窘迫感了。你想验证一个想法&#xff0c;或者排查一个棘手的信号问题…...

3篇6章5节:基于 stat_slab () 函数的高血压临床数据可视化

在现代医学研究,传统 “均值 标准差”“箱线图” 等统计表达,往往会丢失数据的分布形态、双峰特征、组间重叠等关键信息,无法适配真实世界临床数据的复杂特征。而 R 语言 ggdist 包的 stat_slab() 函数,作为分布可视化体系的核心底层工具,不仅能实现样本数据的完整分布呈…...

【免费下载】 STM32标准库-SPI-DMA收发数据-读写Flash(W25Q256JV)-仿printf和scanf输入输出

STM32标准库-SPI-DMA收发数据-读写Flash(W25Q256JV)-仿printf和scanf输入输出 【下载地址】STM32标准库-SPI-DMA收发数据-读写FlashW25Q256JV-仿printf和scanf输入输出 本项目基于STM32F429IGT6单片机&#xff0c;利用Keil MDK V5.32开发环境&#xff0c;展示了如何通过SPI接口…...

瑞芯微(EASY EAI)RV1126B TF卡电路

1. TF卡电路RV1126B核心板集成了1个SDMMC控制器和1个SDIO控制器&#xff0c;均可支持SDIO3.0协议&#xff0c;以及MMC V4.51协议。4线的数据总线宽度支持SDR104模式&#xff0c;速率达到200MHz。SDMMC控制器是由PMIC单独供电&#xff0c;可以动态的在1.8V和3.3V之间调节&#x…...

计算机生成全息技术参数敏感性分析与优化策略

1. 计算机生成全息技术中的参数敏感性研究在光学工程领域&#xff0c;计算机生成全息&#xff08;Computer-Generated Holography, CGH&#xff09;技术正经历着从传统迭代算法到神经网络方法的范式转变。这项技术的核心挑战在于如何高效准确地重建目标光场——这本质上是一个相…...