Git Tutorial - Operação de Arquivo

  1. Git excluir arquivos
  2. Git renomeia os arquivos
  3. Git mover arquivos

Neste tutorial, você aprenderá a operação do arquivo em git, como excluir, mover e renomear arquivos.

Git excluir arquivos

A maneira mais fácil de apagar arquivos do rastreamento e eventualmente do repositório é git rm.

$ git rm tes2.txt
rm 'test2.txt'

Depois de executar este comando, o arquivo test2.txt é excluído da pasta de trabalho e esta informação de exclusão foi adicionada à área de encenação.

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	deleted:    test2.txt

Git renomeia os arquivos

Se você renomear o arquivo na sua cópia de trabalho diretamente, git considera esta operação como duas operações, a primeira é apagar os arquivos com o novo antigo, e a segunda é adicionar o arquivo recém-nomeado à cópia de trabalho.

$ git status
On branch master
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

	deleted:    test1.txt

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	test1_rename.txt

no changes added to commit (use "git add" and/or "git commit -a")

A desvantagem de tal operação é que ela quebra o histórico de revisão do arquivo, e você não poderia obter o histórico de revisão deste arquivo recém-nomeado antes deste momento de renomeação. Não é desejável no controle de versão.

O Git tem um comando de renome para resolver este problema de linkage quebrado - mv.

$ git mv test1.txt test1_rename.txt

mv significa na verdade move, mas aqui, mover de test1.txt para test1_rename.txt também significa renomear o arquivo.

Se você verificar o git status agora, o rename aparece,

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	renamed:    test1.txt -> test1_rename.txt

Git mover arquivos

Similar a renomear arquivos, mover arquivos no git também utiliza o comando git mv, mas o destino do arquivo não é o mesmo diretório do arquivo movido.

$ git mv test1_rename.txt move/test1.txt

Aqui, move é o diretório de destino, e test1.txt é o novo nome do arquivo movido test1_rename.txt.

Vamos verificar o git status,

$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

	renamed:    test1_rename.txt -> move/test1.txt

Você poderia ver, é também uma operação renamed, mas com um destino diferente.