You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub CLI仓库名称括号自动替换为短横线问题求助

解决GitHub CLI创建仓库时括号被替换的问题

问题原因

GitHub仓库名称有严格的字符限制,仅允许使用字母、数字、连字符(-)、下划线(_)、点(.),且不能以连字符开头/结尾、不能包含连续连字符。括号()、方括号[]这类特殊字符属于不被允许的范围,因此GitHub CLI在执行gh repo create命令时,会自动将这些不允许的字符替换为连字符,这就是你看到(103)变成-103-的原因。

可行解决方案

1. 用允许的字符替代特殊符号

既然GitHub不支持括号,你可以选择用GitHub允许的字符模拟原命名规则,比如用下划线替代括号:

gh repo create 'company_name/Accounts.InvoiceGenerator._103_' --private --team=MyTeam

这样既保留了内部ID的标识作用,又符合GitHub的命名规范。

2. 在仓库描述/Topic中保留原命名信息

如果需要完整保留Azure DevOps的原始仓库名,可以在创建仓库时通过--description参数添加原名称:

gh repo create 'company_name/Accounts.InvoiceGenerator.-103-' --private --team=MyTeam --description "原Azure DevOps仓库名:Accounts.InvoiceGenerator.(103)"

同时也可以给仓库添加Topic(比如azure-devops-migrate、id-103),方便后续识别和管理。

3. 批量迁移时的脚本适配

如果你是批量迁移脚本,可以在生成仓库名时自动将特殊字符替换为允许的字符,比如用bash的字符串替换:

# 示例:将原仓库名中的()替换为__
original_repo="Accounts.InvoiceGenerator.(103)"
github_repo="${original_repo//(/__}"
github_repo="${github_repo//)/__}"

# 执行创建命令
gh repo create "company_name/$github_repo" --private --team=MyTeam

内容的提问来源于stack exchange,提问作者Pseudonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 03:55:12