跳到内容

关于双向Unicode文本的警告

现在,当文件的内容包含双向Unicode文本时,将显示警告。此类文本的解释或编译方式可能与用户界面中显示的文本不同。例如,可以使用隐藏的双向Unicode字符交换文件中的文本段。这可能导致代码以一种方式出现,并以另一种方式进行解释或编译。

形象

此安全问题是常见漏洞和风险(CVE)出版物的主题:CVE-221-42574.如果您有意使用双向Unicode字符,并且没有格式错误,则可以忽略该警告。

要查看显示此警告的文件,请在显示隐藏的双向Unicode字符的编辑器中打开它,如Visual Studio代码默认情况下突出显示字符。然后,验证这些字符是必需的,并且不会掩盖将以不同于其显示的方式解释或编译的文本。

有关更多信息,请参阅特洛伊木马源:不可见源代码漏洞.

Pull Request Merge Queue现已提供有限的测试版。了解有关该功能以及如何请求提前访问的更多信息。

为什么使用合并队列?

今天,保持高速度和保持主要分支绿色可能是一项挑战。许多存储库尝试通过在合并之前要求所有pull请求与主分支保持最新来实现这一点。这样可以确保主分支永远不会更新为未通过所有必需状态检查的提交,但会强制开发人员多次更新(或重新设置)其拉请求分支,然后等待状态检查完成后再尝试合并。在一些项目中,状态检查可能需要30分钟或更长时间,如果在此期间合并了另一个拉取请求,则该过程将重新开始(对于每个人)。这可能会对团队的整体速度产生重大影响,并使开发人员更难进入下一个任务。

合并队列的优点是,在合并之前要求拉请求分支是最新的,但不要求开发人员完成此过程。

它是如何工作的

合并队列的工作原理是并行验证被标识为“准备合并”的拉请求的不同组合,以便拉请求能够有效合并,并且不会出现当前合并之间存在的典型延迟。

合并队列演示的GIF

一旦拉取请求获得批准并通过了所有必需的状态检查,存储库中具有写访问权限的用户就可以对要合并的拉取请求进行排队。在排队之前,拉请求分支不需要与基本分支保持最新。然后,合并队列创建一个临时分支,该分支包括拉请求和队列中在其前面的任何未失败的拉请求。此分支基于最新版本的基本分支,并且是基本分支通过所有必需的状态检查后的历史记录。假设它确实通过了这些检查,则基本分支将被快速转发,拉入请求被标记为合并。

提前访问

合并队列目前在有限的测试版中可用。这使我们有机会更好地了解您的需求,因为我们提高了功能的质量和功能。在该测试版的第一阶段,对该功能的访问仅限于满足特定要求的特定数量的组织,例如每天都有来自多个合并用户的持续大量更改。

组织管理员可以通过加入等待列表请求提前访问组织:https://github.com/features/merge-queue/signup。您需要提供此组织中计划使用合并队列的存储库的名称,但您将有机会在测试期间在其他存储库上测试该功能。我们将在入职前与您联系,以了解详细信息。

在未来几个月内,早期访问将扩展到更多组织。

了解更多信息

有关此功能的最新更新,请参阅公共路线图问题#合并队列帖子GitHub更改日志中。

要了解有关配置和使用功能的更多信息,请从“将拉请求添加到合并队列“.

查看更多

GitHub代码空间允许团队和组织直接从浏览器或通过Visual Studio代码启动开发人员环境,而无需为特定存储库定制全新的环境。

自从8月正式发布使代码空间成为您开发软件的最佳方式,这就是为什么我们很高兴在GitHub Universe 2021上宣布几个新功能的原因。

我们知道许多开发人员使用生长激素CLI来加快或完全自动化日常任务,我们已经收到了数十个向CLI添加代码空间支持的请求。截至今日gh码空间(或gh-cs公司命令现在允许开发人员从GitHub CLI管理代码空间。除了创建代码空间、列出代码空间和启动/停止代码空间之外,用户还可以转发端口、设置端口可见性、将SSH连接到代码空间,以及将文件复制到代码空间或从代码空间复制文件。

#通过CLI创建新的代码空间gh代码空间创建--repo monalisa/octocat--分支主

我们特别兴奋ssh标准访问,因为它允许喜欢使用以下编辑器的开发人员维姆电子邮箱更容易在代码空间中开发。只是gh-cs-ssh进入代码空间并启动您选择的编辑器;我们将设置环境并获取所有的点文件,以便您可以在几秒钟内进行开发。

#SSH到上面创建的代码空间gh码空间ssh-c monalisa-monalisa-octocat-1337h4x0r

为了赞美CLI,我们还推出了一个测试版API。API提供了围绕用户代码空间的控制平面操作,包括创建、启动/停止、列出可用的机器类型和设置用户机密。这些API将允许开发人员将代码空间集成到他们喜欢的编辑器和工具中,并允许围绕代码空间进行额外的自动化。

#通过API停止正在运行的代码空间卷曲https://api.github.com/user/codespaces/manoisa-monalisa-octocat-1337h4x0r/stop\-H“授权:令牌<个人访问令牌>”\-X POST(X POST)

我们还知道安全和隐私至关重要,我们已经收到了很多关于为转发端口提供额外可见性选项的反馈公众的私有的。今天我们推出了第三个选项:组织可见端口,创建代码空间的组织中的任何用户都可以访问这些端口。这对于在代码空间中安全地与您的队友协作开发新的、令人兴奋的功能非常有用。

#使端口80对组织中的所有用户可见gh代码空间端口可见性80:org-c monalisa-monalisa-octocat-1337h4x0r

继续改进安全性,我们还听说开发人员很难从存储在私有容器注册中心的devcontainer启动代码空间。为了简化操作,我们提供了对GitHub容器注册表中存储的容器的简化访问;您不再需要提供个人访问令牌(PAT)。

说到devcontainer,我们知道在使用预定义的devcontainers和构建定制的devcontanaer之间存在很大差距。为了让这个转换变得简单一些,我们正在启动用扩展devcontainer的功能特征,包括shell、包管理器、编程语言和其他通用工具。例如,将Terraform添加到支持的基础图像就像将以下内容添加到您的devcontainer.json软件.

“功能”:{“terraform”:“最新”}

如果您对这些功能或一般的代码空间有任何反馈,我们会很高兴收到你的来信!

了解有关我们所有新发布功能的更多信息:

查看更多