Recuperar os Arquivos Perdidos
Antes de iniciar este desafio, um repositório Git foi inicializado para você no diretório ~/project/important-project
. Este repositório contém vários commits, incluindo a criação e subsequente exclusão acidental de dois arquivos importantes. Aqui está o que você precisa saber:
- O repositório foi criado com um commit inicial adicionando um arquivo
README.md
.
- Dois arquivos cruciais,
important_algorithm.py
e crucial_data.txt
, foram adicionados em um commit subsequente.
- Houve mais alguns commits com várias alterações.
- Em algum momento,
important_algorithm.py
e crucial_data.txt
foram acidentalmente excluídos, e essa exclusão foi confirmada (committed).
- Houve pelo menos mais um commit após a exclusão acidental.
Sua tarefa é recuperar os arquivos excluídos navegando pelo histórico do repositório e, em seguida, confirmar (commit) os arquivos recuperados.
Tarefas
- Investigar o histórico do repositório para descobrir quando
important_algorithm.py
e crucial_data.txt
foram excluídos.
- Restaurar o repositório ao estado imediatamente anterior à exclusão.
- Manter os commits originais e criar um novo commit com a mensagem "Recover deleted files" (Recuperar arquivos excluídos).
Requisitos
- Trabalhar no diretório
~/project/important-project
.
- Certificar-se de que
important_algorithm.py
e crucial_data.txt
estejam presentes após a recuperação.
- Certificar-se de que a última mensagem de commit seja "Recover deleted files" (Recuperar arquivos excluídos) e que o histórico de commits seja preservado.
Exemplo
Após concluir o desafio com sucesso, a execução de ls
no diretório do projeto deve mostrar:
$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md
A execução de git status
deve mostrar um diretório de trabalho limpo:
$ git status
On branch master
nothing to commit, working tree clean
E git log
deve mostrar seu novo commit no topo:
$ git log --oneline
8876d8b (HEAD -> master) Recover deleted files
9b3525c Update project status
5e6234c Oops, accidentally deleted important files
9de9506 Update algorithm TODO
01c36ae Add crucial data and algorithm
638a98d Initial commit