原文: Hacking on AS7 - http://community.jboss.org/wiki/HackingonAS7
注:jbossas 7 使用 github 来管理源代码,所以要求阅读者有基本的git知识,可以阅读一下<<pro git>>书籍。
1. 创建github帐号
http://github.com
2. Fork 你的jboss-as 副本
http://github.com/jbossas/jboss-as
3. 用Git克隆你的副本到本机工作区
$ git clone git@github.com:[your user]/jboss-as.git
Initialized empty Git repository in /devel/jboss-as/.git/
remote: Counting objects: 2444, done.
remote: Compressing objects: 100% (705/705), done.
remote: Total 2444 (delta 938), reused 2444 (delta 938)
Receiving objects: 100% (2444/2444), 1.71 MiB | 205 KiB/s, done.
Resolving deltas: 100% (938/938), done.
$ cd jboss-as
4. 将git远程引用添加为upstream, 为了以后使用pull来更新
git remote add upstream git://github.com/jbossas/jboss-as.git
5. 使用maven (通过命令 build.sh) (确实你在使用 maven 3)
$ ./build.sh install
.....
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] JBoss Application Server: BOM ..................... SUCCESS [1.834s]
[INFO] JBoss Application Server: Parent Aggregator ....... SUCCESS [0.022s]
[INFO] JBoss Application Server: Domain Core ............. SUCCESS [3.051s]
[INFO] JBoss Application Server: Server Manager .......... SUCCESS [0.204s]
[INFO] JBoss Application Server: Server .................. SUCCESS [0.283s]
[INFO] JBoss Application Server: Domain Controller ....... SUCCESS [0.084s]
[INFO] JBoss Application Server: Process Manager ......... SUCCESS [0.314s]
[INFO] JBoss Application Server: Remoting ................ SUCCESS [0.390s]
[INFO] JBoss Application Server: Build ................... SUCCESS [5.696s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
6. 从 upstream 拉取(pull)更新
写道
$ git pull --rebase upstream master
From git://github.com/jbossas/jboss-as
* branch master -> FETCH_HEAD
Updating 3382570..1fa25df
Fast-forward
{parent => bom}/pom.xml | 70 ++++----------
build/pom.xml | 13 +--
domain/pom.xml | 10 ++
.../src/main/resources/examples/host-example.xml | 2 +-
.../resources/examples/jboss-domain-example.xml | 28 +++---
.../main/resources/schema/jboss-domain-common.xsd | 12 +--
.../main/resources/schema/jboss-domain-host.xsd | 2 +-
domain/src/main/resources/schema/jboss-domain.xsd | 17 ++--
pom.xml | 100 ++++++++++++++++++--
process-manager/pom.xml | 3 +-
10 files changed, 156 insertions(+), 101 deletions(-)
rename {parent => bom}/pom.xml (85%)
(如果你有本地提交,--rebase 会自动将你本地的提交移动到分支的顶端,便于生成清晰的提交记录,方便他人合并,如果没有本地提交,可以不加 --rebase)。 请注意 --rebase 非常重要如果你确实有本地提交。如果git pull不能快速移动指针,它会合并提交,如果不是用--rebase它会给予你本地的修改进行合并,而--rebase则是将你的修改与upstream进行合并。也就是说,一个合并提交会产生修改history,rebase会让历史更加的清晰和简单。而一旦你做了本地提交,今后将很难重建在此此提交之前的历史, 在12中还会讨论。
有一个办法让你不会忘记 --rebase 选项就是给"pull --rebase'创建一个别名:
$ git config --global alias.up "pull --rebase"
然后使用新的别名,而不是 pull
$ git up upstream master
另一个更加推崇的办法,是避免同时使用 pull 和 rebase,而是用 fetch+rebase,不过这已经超过了该文的内容,可以参考git的文档。
$ git config --global alias.up "pull --rebase"
7. 推送(push) 你拉取(pull)的更新到你个人的github repo
$ git push
Counting objects: 192, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (44/44), done.
Writing objects: 100% (100/100), 10.67 KiB, done.
Total 100 (delta 47), reused 100 (delta 47)
To git@github.com:[your user]/jboss-as.git
3382570..1fa25df master -> master
你可能加上 -f 参数用来强行提交你的修改。参考注释12
8. 讨论你计划的修改 (如果你想要得到反馈)
9. 为你的修改(增强/修复bug)发布一个JIRA
http://jira.jboss.org
10. 创建一个简单的主题分支(branch)来隔离这项工作 (仅作为一个推荐方法)
git checkout -b my_cool_feature
Note: See tips section for how to use a nice git prompt for tracking what branch you are in!
11. 不断的修改并且提交你的修改 (不要忘了push)
git commit -m 'JBAS-XXXX Frunubucate the Fromungulator'
git commit -m 'JBAS-YYYY Tripple Performance of Fromungulation'
git push my_cool_feature
注意 git push 默认引用你正在push的branch,默认为 master,而不是你正在工作的branch.
12. 给予master分支的最新更新重建/衍合(rebase)你的分支(将你的提交更新到master的顶端)
git fetch upstream
git rebase -i upstream/master
# if you have conflicts fix them and rerun rebase
# The -f, forces the push, alters history, see note below
git push -f origin my_cool_feature
选
项-i会启动交互式的更新,它允许你组合提交,调整commit信息等。这是一个好的方法使得commit日志非常清晰对于外部的更新。注意这会修改提交
历史,产生干净的patch,对于其他已经fork你的分支的人并不友好。所以,你需要确认要么你工作在一个没有共享的分支上,或者你共享了则需要告诉他
们你将修订分支的历史(因此一旦是推送完毕之后,他们需要给予你分支的顶部做rebase)。
13. 将你的修改merge到upstream
- 在你请求将你的更新合并到upstream之前,请重复步骤12,确认你的repo和upstream是同步的。
-
发送一个pull request email to
jbossas-pull-requests@lists.jboss.org
(要加入这个list,参考
here
),附上你的repo的链接,描述你的修改,谁检查你的改动(如果有的话)
- 在检查之后,管理员会合并你的patch,update/resolve你请求中问题,并回复什么时候完成
- 不会忘了切换会master分支,并且拉取更新
git checkout master
git pull upstream master
分享到:
相关推荐
【JBoss AS7教程】 JBoss Application Server 7(简称JBoss AS7)是Red Hat公司推出的一款开源Java EE应用服务器,它基于EAP(Enterprise Application Platform)的轻量级版本,提供了对Java EE 6规范的全面支持。...
### JBoss AS 7 Development #### 一、概述 JBoss AS 7(Application Server 7)是一款功能强大且开放源代码的应用服务器,为开发者提供了高效稳定的开发平台,支持多种高级特性,包括EJB(Enterprise JavaBeans)...
### JBoss AS7 文档概览 JBoss AS7(Application Server 7)是JBoss社区推出的一款开源应用服务器,其文档提供了全面且详细的指南、教程及资源介绍,旨在帮助开发者和管理员更好地理解和掌握JBoss AS7的各项功能与...
### JBoss AS 7 简介与特点 JBoss AS 7(Application Server 7)是JBoss系列中的一个重要版本,它标志着JBoss AS在技术架构上的一次重大革新。本文将详细介绍JBoss AS 7的历史背景、设计初衷、核心技术和内部结构,...
[Packt Publishing] JBoss AS 7 配置部署管理教程 (英文版) [Packt Publishing] JBoss AS 7 Configuration, Deployment and Administration (E-Book) ☆ 出版信息:☆ [作者信息] Francesco Marchioni [出版机构...
### JBoss AS 5 Development: 关键知识点解析 #### 一、JBoss AS 5 概述 **JBoss AS 5(Application Server 5)**是JBoss组织推出的一款开源应用服务器,它为Java应用程序提供了强大的运行环境。JBoss AS 5在企业...
JBoss AS 7 是一款开源的应用服务器,由 Red Hat 公司开发,它提供了一个高效且灵活的平台来运行Java应用程序。在这个版本中,JBoss 引入了命令行接口 (CLI) 作为管理和部署应用的主要工具,以提高管理效率和自动化...
Nginx 1.2.1 + JBOSS AS 7 负载配置及Session处理 本文主要介绍了如何使用 Nginx 1.2.1 和 JBOSS AS 7 实现负载均衡和 Session 处理。文章首先介绍了使用 Nginx 1.2.1 和 JBOSS AS 7 做为应用服务器的理由,然后...
### JBoss AS7 开发指南知识点总结 #### 一、JBoss AS7 开发者指南概览 **标题**: “JBoss AS7 开发指南” **描述**: “这是 JBoss AS7 最新版的开发指南,对于希望深入了解 JBoss 应用服务器的开发者来说,这是...
【JBoss AS7 性能调优】 JBoss Application Server 7 (JBoss AS7) 是一款开源的应用服务器,以其高效能和快速启动而受到赞誉。然而,为了确保最佳性能,对服务器进行适当的配置和调优至关重要。大约80%的应用性能取...
[Packt Publishing] JBoss AS 7 开发教程 (英文版) [Packt Publishing] JBoss AS 7 Development (E-Book) ☆ 出版信息:☆ [作者信息] Francesco Marchioni [出版机构] Packt Publishing [出版日期] 2013年06月...
The latest JBoss AS 5 Development Guide book, very practical to any developer who is or is going to use JBoss AS
本篇将详细介绍如何在MyEclipse中远程调试JBoss AS7或JBoss EAP6,无论是在Windows还是Linux环境下。 首先,我们需要了解远程调试的基本原理。远程调试通常依赖于Java的调试接口(Java Debug Wire Protocol, JDWP)...
Windows 环境下 JBoss AS 7 配置 HTTPS 在 Windows 环境下,配置 JBoss AS 7 的 HTTPS 需要按照特定的步骤进行。下面将详细介绍配置 HTTPS 的过程。 生成服务器端证书文件 首先,需要使用 JDK 自带的工具制作 ...
JBoss AS7 是一个开源的Java应用服务器,它是JBoss企业应用平台(EAP)的社区版本。JBoss AS7官方手册是关于如何配置、部署和管理JBoss AS7应用服务器的一份权威指南。该手册由Francesco Marchioni撰写,旨在帮助读者...
### JBoss AS7 管理指南核心知识点详解 #### 一、目标受众与预备知识 **1.1 目标受众** 本指南主要面向希望深入掌握JBoss AS7.0管理技能的技术人员,包括系统管理员、开发人员及技术支持工程师等。 **1.2 预备...
"jboss-as-web.Final-RECOMPILE.jar"这个文件就是针对JBoss AS 7热部署功能的一个关键组件。 热部署是软件开发过程中的一种理想特性,允许开发者在不中断应用程序服务的情况下更新或替换已部署的代码。对于持续迭代...
【JBoss AS 概述】 JBoss Application Server(简称JBoss AS)是Red Hat公司开发的一款开源Java EE应用服务器,它基于Eclipse MicroProfile和Jakarta EE标准,为开发和部署企业级应用程序提供了全面的平台。JBoss ...