【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程)

这篇具有很好参考价值的文章主要介绍了【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这是我的_第221篇_原创文章。

写在前面

『数据杂坛』以Python语言为核心,垂直于数据科学领域,专注于(可戳👉)Python程序开发|数据采集|数据分析|数据可视化|特征工程|机器学习|时序数据|深度学习|人工智能等技术栈交流学习,涵盖数据挖掘计算机视觉自然语言处理等应用领域。(文末有惊喜福利**)**

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

一、问题

========

  假如我在gitee或者github上看到了一个优质的项目,我想对这个项目做一些深入的研究,并对其进行优化,并最终提交PR做出贡献。但是这个项目需要或者最好在虚拟机上或服务器上运行,虚拟机或服务器没有IDE这种代码编辑器,这该咋办?你或许会想到本地做代码修改,然后将项目传到虚拟机去运行,这种方法可以,但是比较麻烦,如果需要多次修改,你需要多次传入虚拟机并删除之前的版本。既然项目托管在git平台上,我们可以借助git工具更加便捷的来实现代码的调试与运行。

二、实现过程

==========

2.1 fork这个优质的源项目到我的远程仓库中

直接在源项目(https://code.osssc.ac.cn/oepkgs/upstream-observer)主页点击Forks按钮,即可将这个项目复制到我的远程仓库中。fork之后,这个项目的归属权属于我,地址:(https://code.osssc.ac.cn/wenqiang/upstream-observer)。

2.2 clone项目主分支到我的windows本地

采用以下命令:

git clone git@code.osssc.ac.cn:wenqiang/upstream-observer.git

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.3 本地(windows环境)创建dev分支进行代码编辑

进入到项目文件夹

cd upstream-observer/

此时会默认在你克隆的分支(一般为主分支),创建dev分支并切换

git checkout -b dev

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

在pycharm中打开项目,配置解释器和虚拟环境(可以用anaconda),可以看到当前的分支和远程分支情况,然后进行开发和调式。

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

2.4 push到我的远程仓库dev分支

调试完将dev分支push到我的远程仓库dev分支

git add -A``git commit -m ''``git push origin dev:dev

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2.5 在虚拟机或服务器上clone我的远程仓库dev分支

git clone -b dev git@code.osssc.ac.cn:wenqiang/upstream-observer.git

2.6 在虚拟机上安装配置相关的运行环境

虚拟机安装anaconda:

创建虚拟环境conda create --name <environment_name>,使用 requirements.txt 文件(项目中一般会有)在虚拟机中安装项目需要的包。1、激活虚拟环境conda activate <environment_name>,2、使用pip install -r requirements.txt命令来安装 requirements.txt 文件中列出的包

或者:

将 Windows 本地的 Anaconda 环境复制到 Linux 虚拟机上。本地使用conda env export --name <environment_name> > environment.yml导出当前环境的详细信息到一个 YAML 文件中存在项目文件夹中,在虚拟机上使用conda env create --file environment.yml命令创建一个新的环境,并使用导出的 YAML 文件来配置环境;使用conda activate <environment_name>命令激活新创建的环境

2.7 在虚拟机上运行项目的主程序脚本

python main.py

2.8 有问题的话,循环3-7步,其中5步clone变为pull,6步可以跳过

2.9 没有问题的话,在我的远程创建PR

PR是自己远端的dev分支–>中央仓库的main分支

三、小结

========

现在企业的软件项目一般都会托管在git平台上,比如gitlab,本文的协同开发方法也是企业开发人员的一般协同开发方法,读者可以自行领会。

点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

👉Python实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

👉Python书籍和视频合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

👉Python副业创收路线👈

【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程),python,git,开发语言

这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取

CSDN大礼包:《Python入门&进阶学习资源包》免费分享

本文转自网络,如有侵权,请联系删除。文章来源地址https://www.toymoban.com/news/detail-843055.html

到了这里,关于【Python程序开发系列】利用git实现协同开发做开源贡献(完整过程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python程序开发系列】聊一聊github的pull request几种合并方式

          在正常的工作流程中,PR 用于将一个分支的更改合并到另一个分支,而这些更改通常以提交的形式存在。每个提交都有一个唯一的提交 ID,用于标识和跟踪更改的历史。因此一般情况下PR包含源分支的多个commit提交记录(pr_commit_ids),也有可能不包含任何commit。    

    2024年02月20日
    浏览(36)
  • 使用微信开发工具开发微信小程序(二)——协同工作、发布与事件绑定

    1.了解项目成员的组织结构 2.小程序开发流程 3.不同项目成员的权限 4.开发者权限 开发者权限 :可使用小程序开发者工具及对小程序的功能进行代码。 开发体验者权限 :可使用体验版小程序。 登录权限 :可登录小程序管理后台,无需管理员确认。 开发设置 :设置小程序服务器

    2024年02月09日
    浏览(126)
  • 程序员如何实现财富自由系列之:参与区块链技术的开发和投资

    作者:禅与计算机程序设计艺术 随着各行各业的人工智能技术应用越来越普及,“区块链”这个火热词汇在近几年已经掀起了一股新的热潮。 区块链(Blockchain)是一个分布式数据库,它通过对数据进行记录、验证、存储、防篡改等方式确保数据的真实性、完整性和有效性。

    2024年02月07日
    浏览(57)
  • python实现TCP服务端程序开发(含源码)

    开发介绍 TCP 网络应用程序开发分为: TCP 客户端程序开发 TCP 服务端程序开发 说明: 客户端程序是指运行在 用户设备上的程序 服务端程序是指运行在 服务器设备上的程序 ,专门为客户端提供数据服务。   TCP开发流程示意图     TCP服务端开发流程: 创建服务端套接字对象:

    2024年02月04日
    浏览(34)
  • 利用Springboot来驱动开发桌面程序

    众所周知,SpringBoot是一款强大的Javaweb开发程序,这得益于其构造了一个Spring容器,然后通过依赖注入和控制反转,维护起一套Java对象和实例的管理机制,方便开发者去使用。在web应用开发的应用中,Springboot在Java层应用非常广,同样的,也可以利用SpringBoot来编写桌面程序。

    2024年02月05日
    浏览(74)
  • 如何利用Flutter框架开发运行小程序

    Flutter 是一个非常优秀的开发框架,借助 Flutter,开发者可以在 iOS 以及 Android 平台自由地发挥创意,构建交互丰富的、精美的应用程序。 Flutter产品团队透露,创建Flutter的初衷是试图彻底改变应用开发:将网络的迭代开发模式与硬件加速图形渲染和像素级控制相结合,而这在

    2024年02月08日
    浏览(41)
  • 利用无代码工具开发一款小程序

    日常我们开发小程序的时候都是要从写代码开始,但是写代码这个事只有专业开发才可以干,那作为普通人,如果也希望开发小程序,有没有更好的方案呢? 答案是肯定的,2014年Forrester首次提出了低代码的概念,利用更少的代码更快的创建应用。Forrester把这种无编程经验的

    2024年02月06日
    浏览(33)
  • 微信小程序开发系列(三十二)·如何通过小程序的API实现页面的上拉加载(onReachBottom事件)和下拉刷新(onPullDownRefresh事件)

    目录 1.  上拉加载 2.  下拉刷新         上拉加载是小程序中常见的一种加载方式,当用户滑动页面到底部时,会自动加载更多的内容,以便用户继续浏览小程序中实现上拉加载的方式: ①  在app.json或者page.json中配置距离页面底部距离:onReachBottomDistance;默认50px。 ②

    2024年04月12日
    浏览(52)
  • LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序

    LabVIEW FPGA利用响应式数字电子板快速开发空间应用程序 与传统的基于文本的语言相比,LabVIEW的编程和设计已被证明可以缩短开发时间。各种研究表明,生产率的提高在3到10倍之间。LabVIEW通过图形语言、集成开发环境和多个编译器的组合来实现这一点。 图形编程和设计对于

    2024年02月13日
    浏览(45)
  • Dynamics 365应用程序开发- 8.利用Dynamics 365中的Azure扩展

    在上一章中,我们了解了如何在Dynamics365中使用新的RESTWebneneneba API端点来执行各种操作,以及如何使用它来开发自定义业务应用程序。在本章中,我们将了解Dynamics 365如何以本机方式支持与Microsoft Azure的集成。本章假定对微软Azure的基本原理有基本了解。 供Microsoft Azure参考

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包