​GitHub 推出新特性:展示单个文件所有者

简介: 近期,GitHub 推出一个新的特性 Show the CODEOWNERS for a single file,也即是在 GitHub 上展示某个特定文件的所有者,具体效果是怎样的呢?来,跟我一起看看吧。

近期,GitHub 推出一个新的特性 Show the CODEOWNERS for a single file,也即是在 GitHub 上展示某个特定文件的所有者,具体效果是怎样的呢?来,跟我一起看看吧。


激活新特性


目前,这个特性需要手动激活,操作很简单,只需要点击 GitHub 个人主页右上角的头像,选中 Feature Preview,并在 File Codeowners 弹框中点击 Enable 即可激活。


0.gif


声明文件所有者


首先,你需要为你的 GitHub 项目添加一个名为 CODEOWNERS 文件,用于声明代码文件或文档文件对应的所有者。该文件可以放置在项目根目录或者 docs.github 目录下。


CODEOWNERS 文件内容的书写格式与 .gitignore 一致,GitHub 官方给出了一个细致的示例:


# This is a comment.# Each line is a file pattern followed by one or more owners.
# These owners will be the default owners for everything in# the repo. Unless a later match takes precedence,# @global-owner1 and @global-owner2 will be requested for# review when someone opens a pull request.*       @global-owner1 @global-owner2
# Order is important; the last matching pattern takes the most# precedence. When someone opens a pull request that only# modifies JS files, only @js-owner and not the global# owner(s) will be requested for a review.*.js    @js-owner
# You can also use email addresses if you prefer. They'll be# used to look up users just like we do for commit author# emails.*.go docs@example.com
# In this example, @doctocat owns any files in the build/logs# directory at the root of the repository and any of its# subdirectories./build/logs/ @doctocat
# The `docs/*` pattern will match files like# `docs/getting-started.md` but not further nested files like# `docs/build-app/troubleshooting.md`.docs/*  docs@example.com
# In this example, @octocat owns any file in an apps directory# anywhere in your repository.apps/ @octocat
# In this example, @doctocat owns any file in the `/docs`# directory in the root of your repository./docs/ @doctocat


依据上面 GitHub 官方示例,我简单为我的项目添加一个 CODEOWNERS 文件,放置在项目根目录下,文件内容如下:


*.py         @yanglbme*.java       @yanglbme
docs/        @yanglbmejava/        @yanglbmepython/      @yanglbme


这样写其实就是告诉 GitHub,在本项目中,所有以 .py 或者 .java 后缀命名的文件,以及 docsjavapython 文件夹下的所有文件,都归 GitHub 用户 yanglbme 所有。


特性效果


点击 GitHub 项目 AutoComplete.java 文件,可以看到代码行数左侧有个 Owner 的 logo,光标移动到 logo,可以看到显示 You own this file,说明特性已生效。


1.gif


当然,如果是非 Owner,会看到这个文件是显示 Owned by yanglbme


2.png


注意:无论是否是文件的 Owner,都能看到特性效果,前提是你需要先 Enable 激活才行。


不止于此


CODEOWNERS 文件其实还有另外的用途,就是用在代码的 Review 上。如果你是项目的所有者,那么你可以在 Settings 中设置分支保护,设置提交需要经过代码所有者 Code Owners 审查。


3.png


一旦有其他用户对你的文件做出修改,GitHub 便会自动发起 review 请求,请求文件 Owner 进行 review。


4.png


怎么样,是不是又 Get 了一个新技巧?

目录
相关文章
|
2月前
|
网络协议 Linux Android开发
解决GitHub无法访问的问题:手动修改hosts文件与使用SwitchHosts工具
解决GitHub无法访问的问题:手动修改hosts文件与使用SwitchHosts工具
142 1
|
4月前
|
开发工具 git
把文件移动到在github上新建的文件
把文件移动到在github上新建的文件
|
4月前
|
弹性计算 Java API
阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
【1月更文挑战第5天】【1月更文挑战第21篇】 阿里云OpenAPI的依赖文件通常在阿里云官方文档或者SDK的GitHub仓库中可以找到
107 1
|
5月前
|
域名解析 网络协议 测试技术
[插件使用] SwitchHosts自动更新Github Hosts文件
[插件使用] SwitchHosts自动更新Github Hosts文件
402 0
|
1天前
|
开发工具 git
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
【Github】sync fork后,意外关闭之前提交分支的pr申请 + 找回被关闭的pr请求分支中的文件
11 5
|
1天前
|
缓存 网络安全 开发工具
【尝试】域名验证:配置github二级目录下的txt文件
【尝试】域名验证:配置github二级目录下的txt文件
8 2
|
1天前
|
安全 网络安全 开发工具
【GitHub】清空 GitHub 仓库中的所有内容,只保留 `README.md` 文件
【GitHub】清空 GitHub 仓库中的所有内容,只保留 `README.md` 文件
7 2
|
13天前
|
Linux API 开发者
【专栏】掌握`curl`能提升开发效率和解决问题的能力
【4月更文挑战第28天】本文介绍了如何使用`curl`命令从GitHub下载文件。基础操作包括获取文件的克隆URL,打开终端输入`curl -O <file_clone_url>`,执行命令以下载文件。文章还提及了代理设置、认证和错误处理等高级应用,帮助开发者更高效地管理代码和资源。掌握`curl`能提升开发效率和解决问题的能力。
|
25天前
|
程序员
借用GitHub将typora图片文件快速上传CSDN
借用GitHub将typora图片文件快速上传CSDN
|
4月前
|
JavaScript Ubuntu 网络安全
使用github actions,将私有仓库的构建文件发布到另一个公开仓库,并同步到gitee
使用github actions,将私有仓库的构建文件发布到另一个公开仓库,并同步到gitee
113 0