为什么我Fork仓库的Tags会出现在上游原游戏主仓库中?
Tag出现在原仓库的原因说明
该情况的核心原因是你执行推送操作时,误将本地自定义的不带v前缀的Tag推送到了原作者的上游仓库,而非仅推送至自己的Fork仓库,常见触发场景如下:
- 执行全局Tag推送命令未指定目标仓库
若你本地同时配置了对应自己Fork仓库的origin远程、对应原作者仓库的upstream远程,执行git push --tags时未指定具体远程仓库,Git会默认将本地所有Tag推送到所有绑定的上游远程,直接将你的自定义Tag同步到了原作者仓库。 - 推送分支时启用了Tag同步参数
你推送分支时添加了--follow-tags参数,该参数会自动将本地未推送的符合规范的Tag一同推送到当前分支绑定的远程仓库,若当前分支绑定的远程地址为原作者仓库地址,就会连带自定义Tag同步到原仓库。 - 图形化Git客户端默认配置导致
部分GUI类Git工具默认勾选了「推送时同步所有Tag`选项,你推送时误选了原作者仓库作为推送目标,就会连带自定义Tag一同推送。
修复操作指引
你可以先和原作者说明情况,按以下步骤处理:
- 先删除原作者上游仓库中误推送的Tag:
git push upstream --delete <你创建的不带v前缀的Tag名称>
- 后续推送Tag时明确指定推送到自己的Fork仓库:
# 推送单个Tag到自己的仓库 git push origin <Tag名称> # 批量推送所有本地Tag到自己的仓库 git push origin --tags
相关截图


内容的提问来源于stack exchange,提问作者Trashbox Bobylev
相关产品推荐
相关产品推荐

