某些更改需要同时修改多个代码库。可以通过两种方法完成此操作:软转换和硬转换。
一般来说,相较于硬过渡,柔性过渡效果更佳(如需了解更多详情,请参阅跨多个花瓣进行更改)。这意味着,如果对一个代码库的更改依赖于另一个代码库中的更改,则您必须等到相应的提交完成之后,才能将相关提交提交到队列。
大多数多花瓣更改(包括对 FIDL 协议的更新)都应尝试使用软转换,而协调跨多个花瓣的更改可能需要硬转换。通常,应使用上述参考资料中介绍的技术,尽可能避免硬转换。
使用 jiri 上传
如需同时上传更改,您需要在所有代码库中创建一个同名的分支。
请执行以下操作:
在 Fuchsia 代码库中进行并提交第一项更改:
转到代码库:
cd examples/fortune
创建一个新分支,例如 add_my_new_feature:
git checkout -b add_my_new_feature
修改并添加与地图项相关的文件:
git add <my_feature_related_files>
提交您的第一次更改:
git commit
在另一个 Fuchsia 代码库中进行并提交第二项更改:
转到第二个代码库:
cd fuchsia/build
创建一个具有相同名称 add_my_new_feature 的新分支:
git checkout -b add_my_new_feature
修改并添加与地图项相关的文件:
git add <more_of_my_feature_related_files>
提交您的第二项更改:
git commit
使用
-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
请注意,必须从每个代码库的工作目录运行此命令。