首页
在线工具
搜索
1
使用Metrics指标度量工具监控Java应用程序性能(Gauges, Counters, Histograms, Meters和 Timers实例)
2
如何将Virtualbox和VMware虚拟机相互转换
3
Jumpserver的MFA配置
4
Kuboard与KubeSphere的区别:Kubernetes管理平台对比
5
Markdown正确使用姿势
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
Search
标签搜索
Angular
Docker
Phabricator
SpringBoot
Java
Chrome
SpringSecurity
SpringCloud
DDD
Git
Mac
K8S
Kubernetes
ESLint
SSH
高并发
Eclipse
Javascript
Vim
Centos
Jonathan
累计撰写
86
篇文章
累计收到
0
条评论
首页
栏目
杂谈与随笔
工具与效率
源码阅读
技术管理
运维
数据库
前端开发
后端开发
页面
搜索到
4
篇与
的结果
2020-08-19
Git分支命名规范
Git分支命名规范 分支 命名 说明 主分支 master 主分支,所有提供给用户使用的正式版本,都在这个主分支上发布 开发分支 dev 开发分支,永远是功能最新最全的分支 功能分支 feature- 新功能分支,某个功能点正在开发阶段 发布分支 realease- 发布定期要上线的功能 修复分支 fixbug-* 修复线上代码的 bug 主分支 Master 首先,代码库应该有一个、且仅有一个主分支。所有提供给用户使用的正式版本,都在这个主分支上发布。 Git主分支的名字,默认叫做 Master 。它是自动建立的,版本库初始化以后,默认就是在主分支在进行开发。 开发分支 Dev 主分支只用来分布重大版本,日常开发应该在另一条分支上完成。我们把开发用的分支,叫做 Dev 这个分支可以用来生成代码的最新隔夜版本(nightly)。如果想正式对外发布,就在 Master 分支上,对 Dev 分支进行”合并”(merge)。 Git创建 Dev 分支的命令: git checkout -b dev master 将 Dev 分支发布到 Master 分支的命令: 切换到 Master 分支 git checkout master 对 Dev 分支进行合并 git merge –no–ff dev 这里稍微解释一下,上一条命令的–no–ff参数是什么意思。默认情况下,Git执行”快进式合并”(fast-farward merge),会直接将 Master 分支指向 Dev 分支。 使用–no–ff参数后,会执行正常合并,在 Master 分支上生成一个新节点。为了保证版本演进的清晰,我们希望采用这种做法。 功能分支 Feature 功能分支的名字,可以采用feature-*的形式命名。 创建一个功能分支: git checkout -b feature-x dev 开发完成后,将功能分支合并到dev 分支: git checkout dev git merge –no-ff feature-x 删除feature分支: git branch -d feature-x 预发布分支 Release 第二种是预发布分支,它是指发布正式版本之前(即合并到 Master 分支之前),我们可能需要有一个预发布的版本进行测试。 预发布分支是从 Dev 分支上面分出来的,预发布结束以后,必须合并进 Dev 和 Master 分支。它的命名,可以采用release-*的形式。 创建一个预发布分支: git checkout -b release-1.2 dev 确认没有问题后,合并到master分支: git checkout master git merge –no-ff release-1.2 对合并生成的新节点,做一个标签 git tag -a 1.2 再合并到dev 分支: git checkout dev git merge –no-ff release-1.2 最后,删除预发布分支(一般等发完版本后删除): git branch -d release-1.2 修补分支 Bug 最后一种是修补bug分支。软件正式发布以后,难免会出现bug。这时就需要创建一个分支,进行bug修补。 修补bug分支是从 Master 分支上面分出来的。修补结束以后,再合并进 Master 和 Dev 分支。它的命名,可以采用fixbug-*的形式。 创建一个修补bug分支: git checkout -b fixbug-0.1 master 修补结束后,合并到master分支: git checkout master git merge –no-ff fixbug-0.1 git tag -a 0.1.1 再合并到dev 分支: git checkout dev git merge –no-ff fixbug-0.1 最后,删除”修补bug分支”: git branch -d fixbug-0.1
2020年08月19日
2019-03-11
Phabricator、禅道、JIRA 对比分析
Phabricator、禅道、JIRA 对比分析:使用、功能与生态 在软件开发和项目管理中,选择合适的 项目管理工具 对于团队效率至关重要。今天,我们对比三款主流的 项目管理与缺陷跟踪系统——Phabricator、禅道和 JIRA,从 使用体验、核心功能、生态系统 三个方面进行深入分析,帮助团队选择适合自己的工具。 一、Phabricator、禅道、JIRA 简介 1. Phabricator Phabricator 是由 Facebook 开发的一款开源代码评审和项目管理工具,提供 代码托管、代码审查、任务管理、持续集成 等功能。 适用于技术驱动型团队,特别是需要强大代码审查能力的开发团队。 提供高度可定制的工作流,支持 Git、Mercurial 和 SVN。 2021 年停止官方维护,但社区仍有一定活跃度。 个人比较喜欢 Phabricator,虽然它已经停止维护,但它的代码审查功能极其强大,适合工程师文化浓厚的团队。 2. 禅道 禅道是一款 国产开源的项目管理工具,专注于 敏捷开发(Scrum)、缺陷管理、需求管理,广泛应用于国内软件企业。 提供完整的 项目管理 和 测试管理 功能。 更符合国内开发流程,适合 中小型企业 以及 敏捷团队。 支持 瀑布模型、Scrum 和 Kanban,并且提供企业版支持。 3. JIRA JIRA 是 Atlassian 推出的 全球领先的缺陷跟踪与项目管理工具,广泛应用于 企业级开发团队。 提供 丰富的插件生态,适用于不同规模的团队。 强大的 敏捷管理(Scrum、Kanban)和 工作流定制 功能。 适用于 大型企业、复杂项目管理,但 价格较高。 二、功能对比 功能 Phabricator 禅道 JIRA 代码托管 ✅ 支持 Git/Mercurial/SVN ❌ 不支持 ✅ 通过 Bitbucket、GitHub、GitLab 集成 代码审查 ✅ 强大的审查功能 ❌ 无内置支持 ✅ 通过 Bitbucket、Crucible 插件支持 任务管理 ✅ 可定制任务工作流 ✅ 专为敏捷设计 ✅ 强大且灵活 缺陷管理 ✅ 自带 Bug 跟踪 ✅ 专业缺陷管理 ✅ 业界标准 敏捷开发 🚫 需手动配置 ✅ 原生支持 Scrum/Kanban ✅ 原生支持 工作流自定义 ✅ 高度自定义 ⚠️ 适中 ✅ 最强大 插件扩展 🚫 社区插件较少 ⚠️ 部分插件支持 ✅ 丰富插件生态 部署方式 ✅ 自托管 ✅ 自托管 ✅ 云端/自托管 企业支持 ❌ 无官方支持 ✅ 提供商业支持 ✅ Atlassian 官方支持 三、生态系统对比 1. Phabricator 开源社区驱动,但官方已停止维护。 适合 工程文化浓厚的技术团队,但 非技术人员上手难度较高。 插件生态较弱,但支持 二次开发。 虽然官方已停止维护,但仍然是一款优秀的工具,尤其适合小型、高度工程化的团队使用。 2. 禅道 国内生态较强,有大量中文文档与本地化支持。 适合国内软件企业,特别是 中小型团队。 企业版提供 更多功能,如 DevOps、测试管理、需求管理。 3. JIRA 全球市场占有率最高,大公司、国际化团队首选。 插件生态极其丰富,可通过 Atlassian Marketplace 扩展功能。 提供 强大的云端 SaaS 方案,减少运维成本。 四、适用场景推荐 需求 推荐工具 需要强大代码审查、代码管理 Phabricator 追求 性价比,国内开发团队,支持敏捷 禅道 需要企业级项目管理、扩展性强 JIRA 五、总结 Phabricator 适合技术团队,代码审查优秀,但 官方已停止维护,需要团队自行维护。尽管如此,我个人仍然喜欢 Phabricator,它的代码审查和任务管理功能极具吸引力。 禅道 是国内软件团队的首选,特别适合 中小企业、敏捷开发,但国际化支持较弱。 JIRA 是企业级的行业标准,功能最强大、扩展性最广,但 成本较高。 最终选择哪款工具,取决于 团队规模、开发模式和预算。如果你所在团队对敏捷、需求管理有较高需求,禅道或 JIRA 会是更合适的选择;如果你是一个技术驱动的团队,Phabricator 可能会更适合。 个人管理团队的话一直使用phabricator
2019年03月11日
2017-01-04
Phabricator系列之国际化-中文
Phabricator系列之国际化-中文 Phabricator现在有新的方式进行国际化(主要是中文化)了. (2015-07-06) 前一段时间, 团队用的Phabricator开始滚动往前更新, 确定下来是每周和官方网站同步一次. 之前也是为了解决一个问题, 在任务(Maniphest)分配的时候选择成员的时候, 少了一个成员, 只能用(Edit Task)重新指派人. 后来无意间发现一个清除缓存的命令, 一执行就修复好了. ./bin/cache purge 当前本文的重点在于中文化, 参考了现在最新的wiki, 发现现在的中文化比以前方便许多, 不用再每次同步都要还原几个文件再辛苦执行arc liberate 第一步, 我们新建一个PhutilCNChineseLocale.php, 里面放一个PhutilCNChineseLocale继承一个类叫做PhutilLocale, 实现getLocaleCode和getLocaleName这两个方法 分别在这两个方法里面返回zh_CN和中文 (简体中文) 第二步, 新建PhabricatorCNChineseTranslation.php, 继承PhutilTranslation类, 实现getLocaleCode和getTranslations这两个方法 getLocaleCode中返回zh_CN, getTranslations中返回一个数组, 这个数组还是用我们之前生成的数据 ./bin/i18n extract ./src/applications/ 执行完成之后会生成我们所需要的数组, 把这个数据放到getTranslations里面. (这个数据还是超大的, 我这里大概1.6M的样子, 因为Phabricator几十个应用都有了) 如果只用到某些应用的话, 也可以只生成部分 ./bin/i18n extract ./src/applications/maniphest/ 第三步, 一点一点把getTranslations里面的数组翻译过来, 把值为null的都翻译成中文就可以. 第四步, 我们进入个人设置页面, 把Translation这一项, 选择下拉框里面的中文(简体中文), 保存设置就能看到中文结果了. 最后完成的时候, 就是这样一个目录结构 ├── phabricator-zh_CN │ ├── PhabricatorCNChineseTranslation.php │ ├── PhutilCNChineseLocale.php 这里给出我们项目中的一个结构, 直接将这个clone到本地phabricator/src/extensions目录下面就可以了 https://github.com/wanthings/phabricator-zh_CN.git 本文都内容都是参考官方wiki写的, 以下都是参考文章 Adding New Classes Internationalization
2017年01月04日
2016-06-15
Windows下Phabricator Arcanist的安装与使用
Windows下Phabricator Arcanist的安装与使用 Arcanist是Phabricator提交代码评审的客户端工具,虽然可以直接在Differential界面手动创建Diff和Revision,但使用Arcanist会更加方便,特别是对于习惯命令行操作的开发者。 注意事项 如果遇到错误 ERR-CONDUIT-CORE: Invalid parameter information was passed to method 'differential.creatediff',请确保所有文件名均为英文。 安装步骤 1. 安装PHP 需要安装PHP 5.2或以上版本,推荐下载PHP 5.4 VC9 x86 Non Thread Safe版。具体步骤如下: 解压到指定目录:例如解压到 C:\PHP。 加入环境变量:将PHP安装目录(如 C:\PHP)添加到系统的 PATH 环境变量中。 配置php.ini: 复制 php.ini-development 文件为 php.ini。 在 php.ini 中取消以下几行的注释: extension_dir = "ext" extension=php_curl.dll extension=php_mbstring.dll 注册PHP文件类型(可选): 将 .php 扩展名添加到 PATHEXT 环境变量中。 关联 .php 文件类型: assoc .php=phpfile ftype phpfile="C:\PHP\php.exe" -f "%1" -- %~2 需要以管理员权限运行上述命令。 2. 安装SVN客户端 需要安装支持命令行的SVN客户端(不是TortoiseSVN)。可以从Subversion官方网站选择合适的版本,推荐安装CollabNet的Subversion 1.8.0,下载地址(需要注册):CollabNet Subversion。 测试安装是否成功 打开命令提示符并输入以下命令进行测试: C:> svn Type 'svn help' for usage.
2016年06月15日