第 22 集:由 Edward Lesmes 在加利福尼亚州旧金山改编(2021 年 6 月)
上一集
Depot 工具是基于 Git 构建的一系列工具,用于简化为 Chromium 代码库和相关项目做贡献的开发者的工作流程。其中包含用于获取代码、上传更改以供审核、及时更新结账流程等工具!
获取代码
在一个空目录中运行 fetch chromium
。fetch
命令还可用于获取其他代码库(例如 v8 或 webrtc)的代码。如需查看完整列表,请参阅 fetch help
。
上传更改以供审核
每个 CL 对应于 Git 中的一个分支,因此请先运行 git new-branch <branch_name>
创建一个新分支。请根据需要向此分支提交任意数量的更改,并在该分支准备好接受审核时运行 git cl upload
。
git cl issue
会告知您分支与哪个 CL 相关联。使用 git cl issue <issue>
进行更改。
及时更新结账信息
定期运行 git rebase-update
以将本地分支同步到其上游,运行 gclient sync
以更新 third_party
代码库并运行预编译钩子。
管理多个 CL
git cl status
将显示与本地分支关联的 CL 及其状态(未发送、lgtm、已关闭等)。git freeze
和git thaw
的工作方式类似于git stash
,但会跟踪与已存储的更改相关联的分支。git map
会显示所有分支的历史记录,git map-branches
会显示所有分支之间的上游关系。git new-branch --upstream_current <branch_name>
会在现有分支之上创建一个新分支。在对基本分支进行更改后,请使用git rebase-update
对从属分支执行 rebase 操作。
继续在其他机器上处理现有 CL
运行 git cl patch <issue_url>
在当前分支之上择优挑选现有 CL。请注意,它会将当前分支与修补后的 CL 相关联。使用 git cl patch <issue_url> --reapply
可舍弃本地更改并重新应用问题。
其他数据
查看 depot 工具教程并浏览每个命令的帮助消息,以发现所有酷炫功能。如果您遇到任何问题,请告诉我们!