Git 源代码编辑器

概览

Git 源代码编辑器 (ci.android.com/edit) 是一款基于浏览器的工具,用于在 Android 开放源代码项目 (AOSP) 中编辑文件并将更改上传到 Gerrit。它旨在对少量文件进行小幅更改,并提供比下载 Android 源代码树更快的工作流程。在使用 Git 源代码编辑器之前,您应该熟悉使用 Git、Repo 和 Gerrit 向 AOSP 提交更改的完整流程。

当您使用 Git 源代码编辑器编辑文件时,所有工作都在您的本地计算机上完成,直到您上传更改以创建 Gerrit 更改列表。

登录

  1. 在浏览器中加载 Git 源代码编辑器
  2. 点击登录以登录您的帐号。

    Login button

    图 1. 登录按钮

编辑文件和更改

Git 源代码编辑器具有以下主要工作流程

  • 在您选择的分支中,编辑一个或多个您选择的文件。
  • 编辑更改。当您编辑更改时,结果取决于更改的创建者
    • 如果您创建了更改,您的 Git 源代码编辑器编辑内容将作为新的补丁程序集修补到更改中。
    • 如果其他人创建了更改,您的 Git 源代码编辑器编辑内容将基于您加载的更改创建您拥有的新更改。

加载您要编辑的内容

通过加载文件或更改来开始编辑会话。

加载文件

  1. 在页面顶部的文件/更改路径框中输入您要编辑的文件的网址。

    示例文件路径:https://android.googlesource.com/platform/build/+show/refs/heads/main/Changes.md

  2. 点击加载文件或更改

    Loading a file or change

    图 2. 加载文件或更改

    文件加载到编辑器窗格中。编辑器窗格左侧的导航窗格是文件浏览器,它打开 repo,并预加载您的文件。

    A file loaded into the editing pane

    图 3. 加载到编辑窗格中的文件

您可以使用导航窗格在同一 repo 中打开更多文件。如果您打开多个文件,则每个文件都会在编辑器窗格上方的行中显示为一个标签页。点击标签页可在编辑器窗格中打开该文件。

Tabs for loaded files

图 4. 已加载文件的标签页

加载更改

通过在页面顶部的文件/更改路径框中输入 Gerrit 更改列表的网址,导航到您要编辑的更改(请参阅图 2)。

示例更改链接:https://android-review.googlesource.com/c/platform/build/soong/+/1284176

更改中的文件在编辑器窗格中打开(请参阅图 3)。

如果更改包含多个文件,则每个文件都会在编辑器窗格上方的行中显示为一个标签页(请参阅图 4)。点击标签页可在编辑器窗格中打开该文件。

进行编辑

使用文本编辑器窗格编辑文件。您编辑的文件会显示在编辑器窗格下方的“待处理更改”列表中。如果您不小心关闭了包含编辑内容的文件标签页,您可以通过点击“待处理更改”列表中的文件名来重新打开文件,且编辑内容完好无损。

提交更改

您在 Git 源代码编辑器中创建更改并将其发布到 Gerrit。然后,您在 Gerrit 中跟踪更改的批准情况。

创建并发布更改

按照此步骤创建并发布您所做的更改。

  1. 点击相应的按钮

    • 如果您要创建新更改,请点击创建更改
    • 如果您要更新现有更改,请点击更新更改

    将打开一个对话框。

    Create Change dialog box

    图 5. “创建更改”对话框

  2. 输入更改描述,这将成为 Gerrit 中的更改描述。此描述是必需的。如果您正在编辑现有更改,您可以根据需要编辑其描述。

  3. (可选)清除或选中创建时发布复选框。

    默认情况下选中此框。

    如果在您创建更改时选中此框,则更改会立即发布到 Gerrit。如果未选中此框,则更改会上传到 Gerrit 但不发布。

  4. 点击创建

    更改已上传到 Gerrit。如果您选中了创建时发布复选框,则更改也会在 Gerrit 中发布。更改链接在屏幕顶部的通知中。

    Change created notification

    图 6. 更改已创建通知

在 Gerrit 中跟踪更改审批

直接在 Gerrit 中跟踪更改提交状态,就像跟踪任何其他更改一样。

Tracking change submission status in Gerrit

图 7. 在 Gerrit 中跟踪更改提交状态

查看文件差异

选中编辑器窗格下方的差异复选框,以查看您对编辑器窗格中处于活动状态的文件所做的编辑的差异。这在更改文件和编辑现有更改时非常有用。

Viewing file diffs

图 8. 查看文件差异

还原文件

您可以从单个文件或待处理更改列表中的所有文件还原更改。两种还原选项都仅还原 Git 源代码编辑器中的更改。它们不会更新 Gerrit 中的更改。

还原单个文件

要还原单个文件,请点击“待处理更改”列表中文件名旁边的 X

Pending changes section

图 9. “待处理更改”部分

还原所有文件

要一次还原所有文件,请点击编辑器窗格下方的还原所有文件

Revert all files button

图 10. “还原所有文件”按钮

将打开一个弹出对话框。点击全部还原以还原所有待处理文件中的更改,或点击取消以保留更改并继续编辑。

Revert all files confirmation dialog box

图 11. “还原所有文件”确认对话框

您可以直接从 Android 代码搜索在 Git 源代码编辑器中打开文件。如果您需要在编辑文件之前找到该文件,这将很有帮助。

按照此步骤直接从 Android 代码搜索编辑文件。

  1. 在 Android 代码搜索 (cs.android.com) 中,导航到您感兴趣编辑的文件。

  2. 点击编辑代码

    Android Code Search Edit code button

    图 12. Android 代码搜索编辑代码按钮

    Git 源代码编辑器打开,并预先选择了要编辑的文件。

  3. 选择 Git 分支下拉列表中选择您要编辑文件的 Git 分支,然后点击选择分支

    Selecting a Git branch to edit

    图 13. 选择要编辑的 Git 分支

    文件在编辑器窗格中打开。

  4. 按照“进行编辑”部分中的描述继续编辑。

  5. 您可以按照“加载文件”部分中的描述打开其他文件进行编辑

解决冲突

要解决冲突

  1. 在源代码编辑器中,导航到更改。加载更改后,冲突文件会列在屏幕底部。例如,图 14 显示 Android.pb 文件存在冲突。

    Source Editor Conflict

    图 14. 源代码编辑器冲突

  2. 点击冲突文件。文件加载并以连续方式在 Git 标记 (<<<<<<<>>>>>>>) 内显示冲突的内容块。

    Conflict Markers

    图 15. 源代码编辑器冲突标记

  3. 通过编辑文件并手动删除您要保留的内容周围的冲突标记来解决冲突。此外,删除您不想保留的内容的内容和冲突标记。

  4. 点击创建更改以创建新更改。“创建更改”对话框出现。

    Create change

    图 16. 创建更改

  5. 输入更改描述,然后点击创建

发送反馈

使用右上角的错误按钮 错误按钮图片 提供有关 Git 源代码编辑器的反馈。