Estou ciente de que existem problemas semelhantes sobre o git relacionados ao aviso 'não foi possível desvincular', mas não consegui usá-los.
A principal diferença é que isso acontecia quando eu não estava lidando com submódulos de forma alguma (nunca havia lidado com eles antes). Eu criei um branch chamado 'upgrade', apaguei meus arquivos antigos do framework e copiei os novos. Usei git add -A e depois comprometo tudo. Quando tentei verificar o ramal do tronco, ele respondeu com os seguintes erros:
warning: unable to unlink requirements/views/sk/index.php: Permission denied
warning: unable to unlink requirements/views/sv/index.php: Permission denied
warning: unable to unlink requirements/views/zh/index.php: Permission denied
warning: unable to unlink requirements/views/zh_cn/index.php: Permission denied
warning: unable to unlink requirements/views/zh_tw/index.php: Permission denied
... etc. Há centenas deles.
No início, pensei que era apenas um problema de permissões, então adicionei as permissões de gravação de grupo a todo o diretório de requisitos recursivamente, mas não houve nenhuma mudança.
Edit: Como sugerido em uma resposta abaixo, tentei fazer a mesma coisa, mas com todo o resto fechado. Não tive mais sorte do que antes.
Esse problema é particularmente debilitante, pois não consigo passar para o tronco para voltar ao desenvolvimento normal.
sudo chown -R username directory