如何运营Github Org

目录

前言

正文

关于分支保护

特别说明

如何在Windows环境下配置GitHub Desktop GPG签名?

推荐分支保护选择

关于good first issue

如何设置good first issue?

关于Project

尾声


 

  • 🔭 Hi,I’m Pleasure1234
  • 🌱 I’m currently learning Vue.js,SpringBoot,Computer Security and so on.
  • 👯 I’m studying in University of Nottingham Ningbo China
  • 📫 You can reach me by url below:
  • My Blog Website: https://blog.yiming1234.cn 
  • My CSDN Blog: https://yiming1234.blog.csdn.net
  • My Email:Pleasure@yiming1234.cn
  • My Github:Pleasurecruise (自由的世界人) · GitHub
  • It's my pleasure to see you follow me!

原文地址:如何运营Github Org - Pleasure的博客

下面是正文内容:


前言

分享近期的收获

对于这个号,尽量做到月更吧

推广一下最近在写的开源项目,求star

GitHub - CompPsyUnion/NottinghamWall: 宁诺校园墙/宁波诺丁汉大学/计算机爱好者协会

正文

建立一个Github Org并没有想象的那么困难

只需要将新注册一个Github账号然后前往Sign in to GitHub · GitHubTransform account

建立Github Org有多种目的,比如:

1.公司,社区,部门,组织,社团等具有官方性质的,用于和自由开发者进行交流

2.用于统一储存管理具有某一相同目的的仓库

这篇文章仅谈谈以下几点

关于分支保护

用于在协同工作中保护源代码的安全

以下是每个分支保护规则的简要解释:

  1. Restrict creations:限制分支的创建权限。仅允许具有绕过权限的用户创建符合规则的引用(refs),防止未授权的分支创建。
  2. Restrict updates:限制分支的更新权限。只有具有绕过权限的用户才能更新符合规则的引用,防止未经批准的更改。
  3. Restrict deletions:限制分支的删除权限。仅允许具有绕过权限的用户删除符合规则的引用,以防止分支意外或未经授权的删除。
  4. Require linear history:要求线性历史记录。阻止将带有合并提交的更改推送到符合规则的引用,确保分支历史保持线性(没有合并提交)。
  5. Require merge queue:要求合并队列。所有合并操作都必须通过合并队列进行,以确保变更按序进行。
  6. Require deployments to succeed:要求成功的部署。在推送符合规则的引用前,必须先成功部署到指定的环境,确保生产环境的稳定性。
  7. Require signed commits:要求签名的提交。所有推送到符合规则的引用的提交必须具备经过验证的签名,确保提交来源可信。
  8. Require a pull request before merging:合并前需要提交拉取请求。所有更改必须通过拉取请求合并,确保分支上的直接推送受到控制。
  9. Required approvals:要求批准数。拉取请求在合并前必须获得指定数量的批准,确保变更经过充分的审查。
  10. Dismiss stale pull request approvals when new commits are pushed:在推送新提交时撤销已过时的批准。新提交会撤销之前的批准,确保最新更改得到重新审查。
  11. Require review from Code Owners:需要代码所有者的审查。拉取请求中的文件变更若涉及代码所有者指定的文件,则需要代码所有者的批准。
  12. Require approval of the most recent reviewable push:要求最新的推送获得批准。最新的可审查推送必须由他人批准,防止提交者自行批准更改。
  13. Require conversation resolution before merging:要求对话解决。所有代码对话需在拉取请求合并前解决,确保沟通到位。
  14. Request pull request review from CopilotPreview:自动请求Copilot的审查。在新拉取请求创建时自动请求Copilot审查(若作者具备Copilot代码审查访问权限)。
  15. Require status checks to pass:要求状态检查通过。配置后,推送前需通过指定状态检查,确保代码符合质量标准。
  16. Block force pushes:禁止强制推送。防止具有推送权限的用户强制推送更改,以维护分支历史的完整性。
  17. Require code scanning results:要求代码扫描结果。指定工具必须提供代码扫描结果,确保推送的代码没有安全或质量问题。

对于个别规则我想进行

特别说明

Restrict updates是只允许拥有Bypass权限的用户才允许对Pull Request进行Merge,在实际操作中显示如下

只有点击Merge without waiting for requirements to be met (bypass branch protections)才能进行合并

建议不要勾选该项

Require signed commits是为了防止在本地被伪造的git被提交,需要进行签名,即这里绿色的verified!

如何在Windows环境下配置GitHub Desktop GPG签名?

首先安装GPG,下载地址:https://www.gnupg.org/download/index.html

检查环境变量是否生效,终端中输入

gpg --version

输出如下则环境变量生效

生成密钥 设置密钥的姓名,邮箱,描述,建议设置为GitHub用户名,GitHub绑定的邮箱

gpg --full-generate-key

查看密钥

gpg --list-secret-keys --keyid-format=long

gpg --armor --export 你的密钥ID

然后在你的Github账户中添加刚生成的密钥

Sign in to GitHub · GitHub

在Github Desktop的文件夹中进行配置,路径大致如下

C:\Users\31968\AppData\Local\GitHubDesktop\app-3.4.9\resources\app\git\cmd

git config --global user.signingkey Your_Secret_Key
git config --global commit.gpgsign true
git config --global gpg.program "Path\To\Your\GnuPG\bin\gpg.exe"

这样每次在push的时候都会对提交进行验证了

推荐分支保护选择

这里是我推荐的对于组织中开源仓库的分支保护的选择

{"id": 1578177,"name": "Protect Main","target": "branch","source_type": "Repository","source": "CompPsyUnion/NottinghamWall","enforcement": "active","conditions": {"ref_name": {"exclude": [],"include": ["~DEFAULT_BRANCH"]}},"rules": [{"type": "deletion"},{"type": "non_fast_forward"},{"type": "creation"},{"type": "pull_request","parameters": {"required_approving_review_count": 1,"dismiss_stale_reviews_on_push": true,"require_code_owner_review": false,"require_last_push_approval": true,"required_review_thread_resolution": true,"automatic_copilot_code_review_enabled": false}},{"type": "required_signatures"}],"bypass_actors": [{"actor_id": 5,"actor_type": "RepositoryRole","bypass_mode": "always"},{"actor_id": 1,"actor_type": "OrganizationAdmin","bypass_mode": "always"}]
}

关于good first issue

在开源项目中,“good first issue” 是一种标签,用来标记适合新手或首次参与该项目的贡献者解决的任务。这些任务通常具有以下特点:

  1. 简单明了:问题通常是相对简单的,不需要深入了解项目的复杂细节。
  2. 难度适中:任务的难度适合初学者解决,不涉及特别复杂的逻辑或大型代码改动。
  3. 明确的指引:问题描述清晰,包含解决方案的方向、相关文件路径,或必要的背景信息,帮助新人快速上手。
  4. 低风险:通常是对项目核心功能影响较小的任务,比如小的bug修复、文档更新、代码清理等。

通过“good first issue”,项目维护者希望吸引更多新手加入贡献,熟悉项目结构和开发流程,同时为新手提供一个学习和成长的机会。

如何设置good first issue?

常见的good first issue格式如上

会在这个issue中罗列已完成和待完成的任务,并关联issue和pull request

number of number tasks 的形式在头部显示,已达到比在仓库README中列TODO更好的效果

同时还可以关联 Project ,Tags ,并通过issue的Assign进行task/issue的分发

关于Project

在开源合作中非常常见,比如公司 社区等等

GitHub Project 是一种项目管理工具,帮助团队在 GitHub 上进行任务和项目的规划、组织和跟踪。它结合了看板、任务列表等功能,使开发和管理团队可以更高效地协作。GitHub Project 的主要作用如下:

  1. 任务跟踪:项目中的问题(Issues)和拉取请求(Pull Requests)可以直接添加到项目中,方便团队跟踪任务进展。
  2. 优先级和进度管理:可以通过分配优先级、截止日期、里程碑等信息,帮助团队合理安排任务,确保项目按计划进行。
  3. 任务分配和角色分工:支持分配任务给团队成员,清晰地展示各自的职责和进展,增强协作效果。
  4. 自定义工作流程:支持创建自定义列(如“待办”、“进行中”、“已完成”),并支持自动化规则来改变任务状态,提升工作效率。
  5. 进度可视化:使用看板视图和列表视图,项目进度一目了然,便于管理者监控整个项目的实时状态。
  6. 整合与自动化:可以通过 GitHub Actions 或 Webhooks 自动更新任务状态。例如,某个拉取请求被合并后,任务可以自动标记为完成。
  7. 提升透明度:所有项目成员都可以实时看到项目状态和进度,保持信息透明,减少沟通成本。

GitHub Project 是 GitHub 项目管理的核心工具,特别适用于开源项目、团队开发项目等,使得代码开发和项目管理无缝衔接,提高整体协作效率。

尾声

如果可以的话,麻烦给我们的组织点个关注,谢谢

Computer Psycho Union · GitHub

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/468340.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

接收nVisual中rabbitmq数据不成功问题排查

rabbitmq服务部署成功的情况下,消息对接不成功一般原因为消息发送失败,发送失败大多数可能为global_settings表配置错误。下面从两个方面解决消息对接不成功问题。 1.数据是否成功发送 检查global_settings表中rabbitmq发送消息配置信息是否正确 #MQS…

二叉树的实现

一.树 1.1树的概念与结构 树是一种非线性数据结构,由有限个结点组成的具有层次关系的集合。树的根部位置就叫根结点,除根结点以外,其余的树被分为各个互不相交的集合。树的根系只能向下延伸不能向左右延伸。除根结点以外每个结点有且仅有一…

Python基础学习-03逻辑分支语句、循环

目录 1、记住逻辑关系 2、逻辑分支语句 3、for-loop循环 4、while-loop 5、break 和 continue 6、本节总结 1、记住逻辑关系 • 逻辑关系 1) True(真) 和 False(假) 2)逻辑关系有 and(与…

Spark中给读取到的数据 的列 重命名的几种方式!

目录 一、第一种 (withColumnRenamed) 二、第二种(toDF) 三、第三种( toDF(*tuple1) ) 四、 第四种(schema) 五、假如文件里自带有列名的情况(option) 一、第一种 (withColumnRenamed) 假设要把如下…

鸿蒙UI开发——实现环形文字

1、背 景 有朋友提问:您好关于鸿蒙UI想咨询一个问题 如果我想实现展示环形文字是需要通过在Text组件中设置transition来实现么,还是需要通过其他方式来实现。 针对这位粉丝朋友的提问,我们做一下解答。 2、实现环形文字效果 ❓ 什么是环形…

现场工程师日记-MSYS2迅速部署PostgreSQL主从备份数据库

文章目录 一、概要二、整体架构流程1. 安装 MSYS2 环境2. 安装postgresql 三、技术名词解释1.MSYS22.postgresql 四、技术细节1. 创建主数据库2.添加从数据库复制权限3. 按需修改参数(1)WAL保留空间(2)监听地址 4. 启动主服务器5.…

Rust-AOP编程实战

文章本天成,妙手偶得之。粹然无疵瑕,岂复须人为?君看古彝器,巧拙两无施。汉最近先秦,固已殊淳漓。胡部何为者,豪竹杂哀丝。后夔不复作,千载谁与期? ——《文章》宋陆游 【哲理】文章本是不加人工,天然而成的,是技艺高超的人在偶然间所得到的。其实作者所说的“天成”…

Spark的Standalone集群环境安装

一.简介 与MR对比: 概念MRYARNSpark Standalone主节点ResourceManagerMaster从节点NodeManagerWorker计算进程MapTask,ReduceTaskExecutor 架构:普通分布式主从架构 主:Master:管理节点:管理从节点、接…

SpringBoot整合Sharding-JDBC实现读写分离

SpringBoot整合Sharding-JDBC实现读写分离 Sharding-JDBC实现读写分离,记得先要实现数据库的主从结构先。 1、Sharding-JDBC 简介 Sharding-JDBC 是的分布式数据库中间件解决方案。Sharding-JDBC、Sharding-Proxy 和 Sharding-Sidecar(计划 中)是 3 款相互独立的…

几个docker可用的镜像源

几个docker可用的镜像源 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; sudo rm -rf /etc/docker/daemon.json sudo mkdir -p /etc/dockersudo tee /etc/docker/daemon.json <<-EOF {"registry-mirrors": ["https://d…

数字时代企业的基本数据丢失预防策略

在当今的数字时代&#xff0c;数据丢失预防对企业的重要性怎么强调也不为过。了解与数据丢失相关的风险至关重要&#xff0c;因为人为错误和网络攻击等常见原因可能会产生严重后果。 实施有效的数据丢失预防策略&#xff08;例如安全协议、定期数据备份和员工培训&#xff09;…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾&#xff0c;我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节&#xff0c;我们将深入了解C2LinearBlock是什么&#xff0c;它的作用是什么&#xff0c;以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

【EasyExcel】EasyExcel导出表格包含合计行、自定义样式、自适应列宽

目录 0 EasyExcel简介1 Excel导出工具类设置自定义表头样式设置自适应列宽添加合计行 2 调用导出工具类导出Excel表3 测试结果 0 EasyExcel简介 在数据处理和报表生成的过程中&#xff0c;Excel是一个非常常用的工具。特别是在Java开发中&#xff0c;EasyExcel库因其简单高效而…

SparkSql读取数据的方式

一、读取普通文件 方式一&#xff1a;给定读取数据源的类型和地址 spark.read.format("json").load(path) spark.read.format("csv").load(path) spark.read.format("parquet").load(path) 方式二&#xff1a;直接调用对应数据源类型的方法 …

Linux相关概念和易错知识点(19)(HDD、Block group)

目录 1.HDD &#xff08;1&#xff09;HDD存储描述 &#xff08;2&#xff09;HDD结构图 &#xff08;3&#xff09;磁盘管理的分治思想 &#xff08;4&#xff09;硬盘中文件系统的整体划分图 2.Block group &#xff08;1&#xff09;文件管理 ①文件属性的存储 ②in…

IDEA构建JavaWeb项目,并通过Tomcat成功运行

目录 一、Tomcat简介 二、Tomcat安装步骤 1.选择分支下载 2.点击下载zip安装包 3.解压到没有中文、空格和特殊字符的目录下 4.双击bin目录下的startup.bat脚本启动Tomcat 5.浏览器访问Tomcat 6.关闭Tomcat服务器 三、Tomcat目录介绍 四、WEB项目的标准结构 五、WEB…

【C#】选课程序增加、删除统计学时

文章目录 【例6-2】编写选课程序。利用利用列表框和组合框增加和删除相关课程&#xff0c;并统计学时数1. 表6-2 属性设置2. 设计窗体及页面3. 代码实现4. 运行效果 【例6-2】编写选课程序。利用利用列表框和组合框增加和删除相关课程&#xff0c;并统计学时数 分析&#xff1…

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源地噪声分析操作指导-SODIMM

Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行电源地噪声分析操作指导-SODIMM Sigrity Speed2000是时域仿真分析工具&#xff0c;Power Ground Noise Simulation模式可以观测器件的时域电压波形和观测电源地空间电压分布&#xff0c; 以下图为例进行分析 用Sp…

【CLIP系列】开篇

在多模态学习领域&#xff0c;CLIP无疑是一项具有里程碑意义的工作&#xff0c;自发布以来便引发了广泛关注。其在视觉-语言基础模型中的影响力极为深远&#xff0c;截至目前&#xff0c;该研究的引用量已突破23,000次&#xff0c;充分体现了其在学术界和工业界的重要地位。 为…

dell服务器安装ESXI8

1.下载镜像在官网 2.打开ipmi&#xff08;idrac&#xff09;&#xff0c;将esxi镜像挂载&#xff0c;然后服务器开机 3.进入bios设置cpu虚拟化开启&#xff0c;进入boot设置启动选项为映像方式 4..进入安装引导界面3.加载完配置进入安装 系统提示点击继 5.选择安装磁盘进行…