You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

执行AOSP repo sync时出现tag冲突错误,如何解决?

解决AOSP repo sync时tag冲突报错的问题

我之前也碰到过一模一样的repo sync报错,这是因为本地仓库里的tag和远程仓库的同名tag内容不一致,Git默认不允许直接覆盖本地已存在的tag导致的。给你几个可行的解决办法:

先再明确下你遇到的报错内容:

From https://android.googlesource.com/platform/external/dtc
! [rejected] android-q-preview-1 -> android-q-preview-1 (would clobber existing tag)
! [rejected] android-q-preview-4 -> android-q-preview-4 (would clobber existing tag)
! [rejected] android-q-preview-5 -> android-q-preview-5 (would clobber existing tag)
! [rejected] android-q-preview-6 -> android-q-preview-6 (would clobber existing tag)
error: Cannot fetch platform/external/dtc
warn: --force-broken, continuing to sync

方法一:单个仓库处理(针对external/dtc)

  • 进入出问题的仓库目录:
    cd external/dtc
    
  • 删除本地冲突的所有tag:
    git tag -d android-q-preview-1 android-q-preview-4 android-q-preview-5 android-q-preview-6
    
  • 回到AOSP根目录,重新执行sync:
    repo sync
    

方法二:全局强制同步tag(适合多仓库出现同类问题)

如果后续还有其他仓库出现类似tag冲突,可以直接用repo的强制同步tag参数,一次性处理所有冲突:

repo sync --force-sync-tags

这个参数会强制覆盖本地与远程不一致的tag,比单个仓库处理更高效。

方法三:删除仓库重新拉取(极端情况)

如果前面两种方法都无效,可以直接删除出问题的仓库目录,让repo重新拉取完整内容:

rm -rf external/dtc
repo sync

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

火山引擎 最新活动