[OpenMMLab]提交pr时所需的git操作
git开发流程
准备工作
作为一个开发者,fork一个仓库之后应该先做什么?
1、下载仓库,创建上游代码库,查看当前的分支情况
git clone https://github.com/<your_name>/<repo_name>.git
git remote add upstream git@github.com:<upstream_name>/<upstream_repo_name>.git
因为我们要对master分支做开发,但为了保证能够不修改master,那么就需要在master基础上建立dev分支,并为分支设置远程跟踪信息,从而建立对应的上游分支并进行同步(即github接收端分支)
# 查看分支信息
git branch -a
# 选择dev分支
git switch -c dev
# 设置分支跟踪origin/dev分支
git branch --set-upstream-to=origin/dev dev
git pull
git流程框图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JrwVCtfd-1676213844165)(/media/liuyoufu/TOSHIBA EXT/文档集/博客正在撰写/git实例分析.assets/git流程图.png)]
开发流程
# 经过一系列开发之后,需要提交啦,此时有些仓库会有pre-commit脚本来检测并修正代码风格,以确保代码风格统一,以openmmlab为例
# pre-commit需要安装,一个虚拟环境安装一次即可
pip install -U pre-commit
pre-commit install
pre-commit install -c .pre-commit-config-zh-cn.yaml
# 安装完毕后,执行pre-commit
pre-commit run --all-files -c .pre-commit-config-zh-cn.yaml# pre-commit 全部通过后,开始提交
git add <file>
git commit -m "xxxxx"
git push# 如果提交需要修改,则仍在该分之下修改即可
在同时开发两个pr时,应该如何处理?
同时处理两个pr的时候,就需要建立一个新的分支与upstream取得联系,每一个分支与一个pr进行联系
可能出现的问题
add后出错
add之后,即已经将文件放入到暂存区存放,从暂存区撤销的命令如下:
# 所有文件撤回
git reset HEAD
# 部分文件撤回
git reset HEAD <file>
# 通过git status查看要提交的变更,里面所存放的就是暂存区的内容,即add之后,commit之前
commit后出错
commit出错,此时还没有push,但此时已经git log中出现此次命令,则需要通过--hard或者--mixed来撤销
git reset --mixed HEAD
执行命令后,会报HEAD 现在位于 a5bd821 no1,但我们git log后会发现并没有撤销,所以commit之后要撤销,则需要加一个^
git reset --mixed HEAD^
此时的效果,就是collate.py撤销commit,同时本地文件中的修改也会撤销,但这也并不是我们想看到的,我们想要的效果应该是撤销commit,同时保留文件内容:
git reset --soft HEAD^
此时,提交的文件又回到暂存区,特别注意的是,此操作只支持HEAD指针的移动,而针对某个文件进行撤回是不允许的!也是不支持的(目前我了解到的是不支持)
--soft和--mixed之外还有--hard,这个指令会直接删除掉add的修改,全部梭哈
如果此时想要撤回撤回操作,那么就需要重新提交
push后出错
继上文git commit没有错误后,要上传至github
git push
此时,突然发现有个错误没改,那么此时在本地无法直接修改github中的内容,着急情况下会这么操作
1、在最新的commit基础上直接修改
2、回退到上一个commit,或者某一个commit处,并撤销该commit与提交时commit之间的修改
git reset --hard HEAD <commit_id>
# 修改ing
git push
这说明你已经理解和掌握reset的用法,但这样会报错,说当前分支的最新提交落后于其对应的远程分支,那么就git pull然后解决冲突。
相关文章:
[OpenMMLab]提交pr时所需的git操作
git开发流程 准备工作 作为一个开发者,fork一个仓库之后应该先做什么? 1、下载仓库,创建上游代码库,查看当前的分支情况 git clone https://github.com/<your_name>/<repo_name>.git git remote add upstream git…...
pandas——groupby操作
Pandas——groupby操作 文章目录Pandas——groupby操作一、实验目的二、实验原理三、实验环境四、实验内容五、实验步骤一、实验目的 熟练掌握pandas中的groupby操作 二、实验原理 groupby(byNone, axis0, levelNone, as_indexTrue, sortTrue, group_keysTrue, squeezeFalse&…...
webpack.config.js哪里找?react项目关闭eslint监测
目录 webpack.config.js哪里找? react项目关闭eslint监测 webpack.config.js哪里找? 在React项目中,当我们需要修改一些配置时,发现找不到webpack.config.js,是我们创建的项目有问题吗,还需新创建项目的项…...
OpenCV 图像梯度算子
本文是OpenCV图像视觉入门之路的第12篇文章,本文详细的介绍了图像梯度算子的各种操作,例如:Sobel算子Scharr算子laplacian算子等操作。 OpenCV 图像梯度算子目录 1 Sobel算子 2 Scharr算子 3 laplacian算子 1 Sobel算子 Sobel算子是一种图…...
Linux c编程之Wireshark
Wireshark是一个网络报文分析软件,是网络应用问题分析必不可少的工具软件。网络管理员可以使用wireshark排查网络问题。程序开发人员可以用来分析应用协议、定位分析应用问题。无论是网络应用程序开发人员、测试人员、部署人员、技术支持人员,掌握wireshark的使用对于分析网络…...
极客时间_FlinkSQL 实战
一、批处理以及流处理技术发展 1.Lambda架构三层划分Batch Layer、Speed Layer和Serving Layer。 ①、Batch Layer:主要用于实现对历史数据计算结果的保存,每天计算的结果都保存成为一个Batch View,然后通过对Batch View的计算,实现历史数据的计算。 ②、Speed Layer正是用…...
Pytorch 混合精度训练 (Automatically Mixed Precision, AMP)
Contents混合精度训练 (Mixed Precision Training)单精度浮点数 (FP32) 和半精度浮点数 (FP16)为什么要用 FP16为什么只用 FP16 会有问题解决方案损失缩放 (Loss Scaling)FP32 权重备份黑名单Tensor CoreNVIDIA apex 库代码解读opt-level (o1, o2, o3, o4)apex 的 o1 实现apex …...
使用太极taichi写一个只有一个三角形的有限元
公式来源 https://blog.csdn.net/weixin_43940314/article/details/128935230 GAME103 https://games-cn.org/games103-slides/ 初始化我们的三角形 全局的坐标范围为0-1 我们的三角形如图所示 ti.kernel def init():X[0] [0.5, 0.5]X[1] [0.5, 0.6]X[2] [0.6, 0.5]x[0…...
进程,线程
进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位。 PCB:进程控制块,操作系统描述程序的运行状态,通过结构体task,struct{…},统称为PCB(process control block)。是进程管理和控制的…...
第03章_基本的SELECT语句
第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展…...
干货 | 简单了解运算放大器...
运算放大器发明至今已有数十年的历史,从最早的真空管演变为如今的集成电路,它在不同的电子产品中一直发挥着举足轻重的作用。而现如今信息家电、手机、PDA、网络等新兴应用的兴起更是将运算放大器推向了一个新的高度。01 运算放大器简述运算放大器&#…...
C++定位new用法及注意事项
使用定位new创建对象,显式调用析构函数是必须的,这是析构函数必须被显式调用的少数情形之一!, 另有一点!!!析构函数的调用必须与对象的构造顺序相反!切记!!&a…...
【Android笔记75】Android之翻页标签栏PagerTabStrip组件介绍及其使用
这篇文章,主要介绍Android之翻页标签栏PagerTabStrip组件及其使用。 目录 一、PagerTabStrip翻页标签栏 1.1、PagerTabStrip介绍 1.2、PagerTabStrip的使用 (1)创建布局文件...
【Kafka】【二】消息队列的流派
消息队列的流派 ⽬前消息队列的中间件选型有很多种: rabbitMQ:内部的可玩性(功能性)是⾮常强的rocketMQ: 阿⾥内部⼀个⼤神,根据kafka的内部执⾏原理,⼿写的⼀个消息队列中间 件。性能是与Kaf…...
现代 cmake (cmake 3.x) 操作大全
cmake 是一个跨平台编译工具,它面向各种平台提供适配的编译系统配置文件,进而调用这些编译系统完成编译工作。cmake 进入3.x 版本,指令大量更新,一些老的指令开始被新的指令集替代,并加入了一些更加高效的指令/参数。本…...
how https works?https工作原理
简单一句话: https http TLShttps 工作原理:HTTPS (Hypertext Transfer Protocol Secure)是一种带有安全性的通信协议,用于在互联网上传输信息。它通过使用加密来保护数据的隐私和完整性。下面是 HTTPS 的工作原理:初始化安全会…...
Docker的资源控制管理
目录 一、CPU控制 1、设置CPU使用率上限 2、设置CPU资源占用比(设置多个容器时才有效) 3、设置容器绑定指定的CPU 二、对内存使用进行限制 1、创建指定物理内存的容器 2、创建指定物理内存和swap的容器 3、 对磁盘IO配额控制(blkio&a…...
MMSeg无法使用单类自定义数据集训练
文章首发及后续更新:https://mwhls.top/4423.html,无图/无目录/格式错误/更多相关请至首发页查看。 新的更新内容请到mwhls.top查看。 欢迎提出任何疑问及批评,非常感谢! 摘要:将三通道图像转为一通道图像,…...
Redis使用方式
一、Redis基础部分: 1、redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1.取最新N个数据的操作 2.排行榜应用,取TOP N 操作 3.需要精确设定过期时间的应用 4.计数器应用 5.Uniq操作,获取某段时间所有数据排重值 6.实时系统,反垃圾系统7.P…...
无主之地3重型武器节奏评分榜(9.25) 枪械名 红字效果 元素属性 清图评分 Boss战评分 泛用性评分 特殊性评分 最终评级 掉落点 掉率 图片 瘟疫传播
无主之地3重型武器节奏评分榜(9.25) 枪械名 红字效果 元素属性 清图评分 Boss战评分 泛用性评分 特殊性评分 最终评级 掉落点 掉率 图片 瘟疫传播者 发射巨大能量球,能量球会额外生成追踪附近敌人的伴生弹 全属性 SSS SSS SSS - T0 伊甸6号-…...
Google 2026 AI全家桶升级:企业管理员必须在48小时内完成的3项策略校准与2项合规备案
更多请点击: https://intelliparadigm.com 第一章:Google 2026 AI全家桶升级全景图 2026年,Google正式发布新一代AI基础设施矩阵——“Project Aether”,标志着其AI全家桶从模块化协同迈向原生融合时代。核心升级聚焦于模型、工具…...
基于SEID模型与ode45数值解的艾滋病传播动力学建模与区域防控策略评估
1. 当数学模型遇上艾滋病防控 我第一次接触传染病建模是在研究生时期,当时导师扔给我一叠艾滋病流行病学数据,说:"试试用微分方程描述这个传播过程"。那会儿对着密密麻麻的病例报告,我完全没想到数学公式真能模拟现实中…...
揭秘AI教材生成秘诀!AI教材写作工具助力,低查重完成20万字教材!
教材编写难题与AI工具解决方案 在编写教材时,如何才能精准满足不同的需求呢?不同学段的学生在认知能力上存在显著差异,内容过于复杂或简单都不合适;而在课堂教学和自主学习等不同场景下,对教材的要求又各不相同&#…...
在Nodejs后端服务中集成Taotoken实现稳定可靠的大模型调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Nodejs后端服务中集成Taotoken实现稳定可靠的大模型调用 将大模型能力集成到后端服务是现代应用开发的常见需求。对于Node.js开发…...
告别爬虫:使用trendsmcp API稳定获取多平台趋势数据
1. 项目概述:告别爬虫,拥抱稳定的趋势数据API如果你曾经尝试过用Python抓取Google Trends、新闻提及量或者社交媒体趋势数据,那你一定对“429 Too Many Requests”这个错误代码深恶痛绝。半夜两点,数据管道突然中断,你…...
从AlphaGo到你的小游戏:如何用MCTS(蒙特卡洛树搜索)为你的五子棋项目加个‘智能大脑’
从AlphaGo到你的小游戏:如何用MCTS为五子棋项目构建智能决策引擎 当你在手机上下棋输给AI时,是否好奇过这些"电子大脑"如何思考?2016年AlphaGo击败李世石的关键技术之一——蒙特卡洛树搜索(MCTS),…...
单片机软件架构师使用Taotoken多模型对比分析内存分配策略
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 单片机软件架构师使用Taotoken多模型对比分析内存分配策略 在嵌入式软件开发中,内存分配策略的选择直接影响着系统的实…...
一次搞清楚:Agent、Skill、Prompt、MCP
文章深入探讨了AI Agent在落地过程中面临的三大核心痛点:Prompt的临时性与不可复用性、Agent专业能力的难以沉淀与迁移、以及AI能力无法融入现有工程化流程。文章提出Agent Skills作为AI Agent的专业能力说明书,通过标准化能力描述与执行框架,…...
伺服电机控制模式全解析:位置、速度、扭矩模式到底怎么选?手把手配置教程
伺服电机控制模式深度实战指南:从原理到参数调优 在工业自动化领域,伺服系统的精准控制直接决定了设备性能的上限。面对位置控制(PT)、速度控制(S)、扭矩控制(T)以及混合模式这四种核心控制策略,许多工程师常陷入选择困境——不同模式对应着截…...
如何免费快速提取任天堂NDS游戏资源:终极Tinke工具完整指南
如何免费快速提取任天堂NDS游戏资源:终极Tinke工具完整指南 【免费下载链接】tinke Viewer and editor for files of NDS games 项目地址: https://gitcode.com/gh_mirrors/ti/tinke 想要探索NDS游戏内部的奥秘吗?Tinke作为一款免费开源的NDS游戏…...
