Git Tutorial - Operação de Arquivo
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.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook