一、问题
假如我在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
在pycharm中打开项目,配置解释器和虚拟环境(可以用anaconda),可以看到当前的分支和远程分支情况,然后进行开发和调式。
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,本文的协同开发方法也是企业开发人员的一般协同开发方法,读者可以自行领会。
作者简介:
读研期间发表6篇SCI数据挖掘相关论文,现在某研究院从事数据算法相关科研工作,结合自身科研实践经历不定期分享关于Python、机器学习、深度学习、人工智能系列基础知识与应用案例。致力于只做原创,以最简单的方式理解和学习,关注我一起交流成长。需要数据集和源码的小伙伴可以关注底部公众号添加作者微信。