GIT rm está excluindo o diretório de nível superior

0

abaixo é a estrutura do diretório:

Top_dir
--test_file

Agora, quando eu faço git rm test_file, uma vez que Top_dir não tem nenhum outro arquivo git está excluindo Top_dir também. É comportamento normal do git?

    
por Yalamber 12.04.2013 / 05:55

2 respostas

0

Sim. O Git não usa exatamente um sistema de arquivos. Ele usa "blobs". Há um artigo chamado git de baixo para cima , que é razoavelmente curto e altamente recomendado. Veja um snippet relevante:

The difference between a Git blob and a filesystem’s file is that a blob stores no metadata about its content. All such information is kept in the tree that holds the blob. Onetree may know those contents as a file named “foo” that was created in August 2004, while another tree may know the same contents as a file named “bar” that was created five years later. In a normal filesystem, two files with the same contents but with such different metadata would always be represented as two independent files. Why this difference? Mainly, it’s because a filesystem is designed to support files that change, whereas Git is not. The fact that data is immutable in the Git repository is what makes all of this work and so a different design was needed. And as it turns out, this design allows for much more compact storage, since all objects having identical content can be shared, no matter where they are.

    
por 12.04.2013 / 06:07
0

Hmm não tenho certeza se o git faz isso. Exclui arquivos da sua árvore / índice de trabalho atual e área de preparação.

link

link

Se você é um iniciante com o git, eu sugiro usar o gitk (que fornece uma boa interface de usuário para o repositório git), tornando isso mais fácil. Você pode instalar isso do terminal como sudo.

Espero que ajude!

    
por 12.04.2013 / 06:05

Tags