关于 git:Android repo init – 如何以非交互方式运行(或没有名称/电子邮件提示)
Android repo init - how to run non-interactively (or without name/email prompting)
我正在构建一个可以下载多个 Android 版本的脚本。我不想从头开始提取每个存储库,而是保留一个基本存储库,我可以在同步之前重新初始化到正确的版本(然后将结果复制到安全目录)。
但是,repo init 总是提示输入姓名和电子邮件地址,从而挫败了我的脚本尝试。我查看了 repo 源并尝试了 -q 之类的选项,但提示似乎来自底层 git 命令。
关于在没有交互的情况下执行 repo init -b 有什么建议吗?
经过测试的解决方案:如果您在全局 git 配置中设置了 user.name 和 user.email,repo 将不会提示您输入您的姓名/电子邮件。您可以通过运行以下 git 命令来设置它们:
$ git config --global user.name 'Warren Turkal'
$ git config --global user.email 'wt@example.com' |
未经测试的可能解决方案:如果您只想为一个存储库设置名称和电子邮件,我认为您也可以在清单存储库中设置这些属性,而不是更改全局配置。为此,您可以从 repo 根目录执行以下操作:
$ cd .repo/manifests
$ git config user.name 'Warren Turkal' $ git config user.email 'wt@example.com' |
相关讨论
-
并确保您没有将
--config-name 参数添加到repo init ,因为它仍然会要求您确认用户名和电子邮件 - 投票赞成第二个建议
为什么不单独使用 git 呢?那是更具脚本性的方式。管道
相关讨论
- 但据我了解,我不能只在您提供的 git 命令中输入像"android-1.6_r1"这样的标签名称,并得到相当于"repo init -b android -1.6_r1;回购同步"。如果我错了,请纠正我,但如果我使用 git,我必须分别处理我感兴趣的每个版本的每个项目,对吗?
- 是和不是。如果您将其作为一个 repo 处理并且不费心导出到另一个地方,则不需要单独处理每个。
THE END
二维码