Pergunta

Eu tenho um projeto usando Git onde eu ramificou-se de mestre para mudar o nome de um diretório.

A renomeação no ramo funciona como esperado. Quando eu voltar para o branch master do diretório tem seu nome original, mas há também uma árvore de diretório vazio com o nome que eu mudei para no ramo.

Este é o comportamento esperado? Am I faltando uma etapa?
Eu só preciso excluir essas árvores de pastas vazias como eles aparecem?

Eu sei Git não rastrear diretórios vazios e que pode ser um fator aqui.

Meu trabalho atual é:

# create and checkout a branch from master
/projects/demo (master)
$ git checkout -b rename_dir

# update paths in any affected files

# perform the rename
/projects/demo (rename_dir)
$ git mv old_dir new_dir

# add the modified files
/projects/demo (rename_dir)
$ git add -u

# commit the changes
/projects/demo (rename_dir)
$ git commit -m 'Rename old_dir to new_dir'

eu chegar a este ponto e tudo é como esperado:

# old_dir has been renamed new_dir
/projects/demo (rename_dir)
$ ls
new_dir

O problema surge quando eu voltar para o mestre:

/projects/demo (rename_dir)
$ git checkout master

# master contains old_dir as expected but it also
# includes the empty directory tree for new_dir
/projects/demo (master)
$ ls
old_dir new_dir

new_dir é uma árvore de diretórios vazia, então git não vai segui-lo -. Mas é feio ter lá

Foi útil?

Solução

Sim, você pode removê-lo. Você também pode usar git clean -d para remover o diretório.

Outras dicas

É bastante provável que você tenha arquivos ocultos no novo diretório. "Ls -a newdir"

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top