今天工作时遇到的问题,要在安卓7.0上开始适配recovery,新建了一个专用于适配n的分支A  但这个分支A所在的仓库(manifest中的remote)和manifest中当前制定的不是同一个仓库,这时就要修改android代码下面的.repo文件夹下的manifest.xml 或者 .repo/manifests下真正的manifest文件***.xml   可以看到manifest.xml其实是链接到***.xml这个文件的,每次repo sync拉取代码时都是用这个文件拉取的, 在这个文件中把recovery用的分支和远程仓库分别制定好,然后在.repo下将这个修改用git commit提交, 

这是再回到代码主目录,重新rrepo sync bootable/recovery,还是会提示:

error: Cannot fetch ****/bootable/recovery (GitError: --force-sync not enabled; cannot overwrite a local work tree. If you're comfortable with the possibility of losing the work tree's git metadata, use `repo sync --force-sync bootable/recovery` to proceed.)


repo sync的默认设置怕会覆盖已经存在的work tree里git的元数据,因为有可能会包含之前的提交,或者暂存区里还有更改,说明还要制定--force-sync这个option, 


repo sync --force-sync bootable/recovery  成功!