前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何参与GitHub上的开源项目

如何参与GitHub上的开源项目

作者头像
海哥@开发
发布2022-04-06 14:49:52
4530
发布2022-04-06 14:49:52
举报
文章被收录于专栏:海哥聊技术

最近计划开源一个基于Springboot的BLOG程序,我会尽量写明中间的每一个步骤。如果近期有打算学习java或spring框架的同学可以参与一块进行协作开发。

这个Blog系统已经重构过多次,第一次是2004年时为了找工作开始使用ASP进行开发。家里使用Adsl拨号,那时运营商是还不封锁80口的,直接托管在了家里的机器上。域名是 sea-bug.3322.org

06年开始步入.Net时代,当时的java还属于SUN公司,主要就是j2se的桌面程序慢的要死,嵌入浏览器的小程序已经不被主流浏览器所支持。只有j2ee还有企业在使用。年轻幼稚的我觉得java太垃圾了,不如强大的微软帝国选择了学习.Net并把blog使用.Net重写了。

随着国内正版化的普及各大公司陆续收到微软的律师函,从10年开始大多公司开始从微软阵营的Win+.Net+sqlserver向开源的Linux+java+Mysql进行迁移。年轻依然幼稚的我也在这次大潮中开始了java的学习过程。2010年我的blog又被迁移到了java+mysql的环境。同一时期我也收到了家里网安的警告不允许再把站点托管在自己家里。为了自由和物美价廉开始选择了境外VPS主机。

2019年了,马上步入2020年了我计划在开源的状态下重构一次BLOG系统,期待你的加入。

正文开始,本教程适合git java maven初学者,如果想转行欢迎使用此文档入门。

实操过程

在Github上协同开发项目,大多不会给主仓库的权限,工作的方式都是Fork到自己名下的仓库里修改,修改完了再申请Pull requests到主仓库。等主仓库负责人review代码。无问题后就会合并到主分支上,今天我们用图形化的方式来一步一步的介绍下。

  1. 首先打开你准备参与项目的主页,比如这次我们的网站 https://github.com/guohai163/jblog 点击右侧的Fork按钮,就会在自己名下出现该仓库的副本。

这次IDE我们用IntelliJ IDEA ,对于初学者我们不讲解git命令,全程使用UI界面。选择 [Check out from Version Control] 直接登录你的github账号,在URL中选择刚刚fork过来的仓库。获得此仓库代码,IDEA会自动帮我们加载此项目并自动通过maven加载所依赖的jar包。此项目我们需要依赖一个Lombok插件,需要通过Settings->Plugins来搜索并安装。

接下来我们看一下项目的结构。src是我们的主要目录,src/main/java下面主要有几个目录web用户数据接口层主要是控制器、service服务层做业务的拼装、dao数据操作层、model实体层、interceptor过滤器主要做权限检查、util工具类。在resources下是主要的资源文件,包括我们的主配置文件application.yml,static下主要是图片、脚本、样式表,这边的web目录是我们的模板本项目使用FreeMarker模板引擎。src/test下是单元测试目前为空稍后会进行补充。根目录下pom.xml是我们引用第三方包的配置文件,Jenkinsfile是我们的自动构建系统所需要使用的脚本文件。

之后就可以开始在本地进行开发调试,当代码测试通过后,我们需要把代码提交上去。可以通过VCS下的COMMIT进行代码提交。在打开的COMMIT窗体中可以确认本次要进行提交的文件,以及在Message说明你要提交的内容,建议第一行简要说明变化的情况。第二行以后可以分多行说明具体提交的内容。commit后我们还需要一步push操作就可以将代码提交到github上自己的仓库中。

向主仓库进行合并请求。使用浏览器打开你自己名下的仓库,在首页会看到Pull request的按钮我们简称PR,这个按钮的作用是请求主仓库进行代码合并。点击后下一个界面会让你确认所提交的修改内容。提交后等待主仓库负责人合并即可。

如果主仓库发生了改变咱们的for仓库不会自动更新需要大家手动操作。第一种方案可以使用PR反向合并、第二种方案本周增加多个远程仓库在本地进行合并即可。

开源的jBlog期待你的加入

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海哥聊技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实操过程
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档