Uncategorized

Subpasta bloqueada no Github com um ícone de seta? Saiba como remover da forma correta.

Muitas vezes quando criamos projetos de Desenvolvimento e os vamos hospedar no Github estudando ou ainda na construção da estrutura é comum mudarmos de idéia sobre como a estrutura deveria funcionar. Um exemplo básico é criarmos um projeto de front em Angular por exemplo e depois resolvemos que queremos colocar um Json Server rodando local sem ficar criando um banco de dados. Afinal, o foco e o front-end e apenas precisamos de uma API JSON para usar na aplicação.

Daí nos deparamos com o problema de criamos uma pasta “frontend” e outra pasta “backend”. Então decidimos criar uma pasta para o projeto que agrupe as duas pastas que afinal são do mesmo projeto não é mesmo?

Só que quando fazemos isso e subimos o repositório nos damos conta que dentro destas pastas elas mesmas possuíam seus próprios arquivos do git (.gitignore, ./gitconfig) e desta forma depois de subirmos pro repositório criado descobrimos que estas (ou esta ) pasta está bloqueada para acesso com um ícone de seta pra direita nela. Dentro dela não existe nada. Daí começa a incomodação.

Isso acontece quando o git interpreta estas pastas como “gitlink” pois interpreta a pasta como se ela fosse um repositório “aninhado”. Colocando a seta em cima da pasta para representar esse entendimento.

Como eu resolvo essa bagunça agora?

Primeiro você precisa remover todos os arquivos do Github que estão nas suas pastas. Isso pode levar um tempinho. “. Remova estes arquivos e cole na nova pasta raiz. Que existe tanto no frontend ou no back. Jogue todas as pastas para dentro da Raiz d projeto. Essas pastas ai foram as causadoras do projeto na verdade porque não estavam na pasta raiz antes.

pegue o arquivo “.gitignore” de uma das pastas e corrija os caminhos pra não dar problemas com isso depois. Jogue este arquivo .gitignore para a pasta raiz por fim.

Você não precisa fazer muita coisa para resolver isso. Como tudo que é reversível no Git isso também é. Desa forma o qe eu te aconselho é fazer o seguinte:

Clone novamente seu repositório em outra pasta da sua máquina. E rode o comando:

git clone --recurse-submodules <nome-repositorio>

Uma vez feito isso. O repositório será baixado novamente usando a regra de rescursividade de respositório, deixando a paste livre da recursividade em que se encontra e liberando o acesso a ela normalmente. Mas ainda não acabou.

Você precisa remover o identificador do cache do repositório / branch:

git add <nome-repositorio>
git rm --cached <nome-repositorio>

Agora vc só precisa readicionar o conteúdo que não existia antes na suas pastas do projeto que tinham o bloqueio e os ícones de setas.

git rm add <nome repositorio>

Agora é só subir as alterações e estará tudo resolvido em seu portal do github nos seus repositórios que estavam com esse bloqueio neles. Daí é śo seguir a valsa. add, commit, push pro remoto.

Padrão

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s