从多个代码库上传更改

某些更改需要同时修改多个代码库。有两个 实现这一点的受支持方法:软过渡和硬过渡。

一般来说,首选软过渡而不是硬过渡(请参阅 跨多个花瓣进行更改 )。这意味着,如果某个仓库的更改依赖于另一个仓库中的更改, 必须等到相应提交已滚动后,才能依赖提交 可以提交至队列。

多花瓣的大部分变化(包括 FIDL 协议更新) 尝试采用柔和的过渡方式 多个花瓣的变化 可能需要硬转换。通常,应采用上述方法 以尽可能避免硬转换。

使用 Jiri 上传

如需同时上传更改,您需要在所有代码库中创建一个名称相同的分支。

请执行以下操作:

  1. 在 Fuchsia 代码库中进行并提交第一项更改:

    1. 转到代码库:

      cd examples/fortune
      
    2. 创建新分支;例如 add_my_new_feature

      git checkout -b add_my_new_feature
      
    3. 修改并添加与地图项相关的文件:

      git add <my_feature_related_files>
      
    4. 提交您的第一项更改:

      git commit
      
  2. 在另一个 Fuchsia 代码库中进行第二项更改并提交:

    1. 转到第二个代码库:

      cd fuchsia/build
      
    2. 创建一个同名的新分支,即 add_my_new_feature

      git checkout -b add_my_new_feature
      
    3. 修改并添加与地图项相关的文件:

      git add <more_of_my_feature_related_files>
      
    4. 提交您的第二项更改:

      git commit
      
  3. 使用 -multipart 上传多个代码库中具有相同分支名称的所有更改:

    jiri upload -multipart
    

提交更改后,清理本地分支:

cd examples/fortune
git branch -d add_my_new_feature

cd fuchsia/build
git branch -d add_my_new_feature

使用 Git 命令

您还可以使用 git 命令跨代码库上传所有更改。 这些步骤与使用 jiri 的步骤相同 上传;但是,请在第 3 步中使用 jiri upload -multipart,而不是 以下 git 命令,上传您修改的每个代码库中的更改:

git push origin HEAD:refs/for/main

请注意,此命令必须从每个代码库的工作目录运行。