Clone do Git

Desafio intermediário 🐥

Problema

Nesse desafio você é responsável por desenvolver um sistema de versionamento de código como o git (chamaremos de fit), criando um programa cli capaz de salvar cópias de arquivos e dar feedback sobre o estado das suas cópias.

Requisitos

  •   O programa vai criar, ler e escrever na pasta .fit (nome opcional).
  •   Implementar os comandos init, add, commit, status e log:
  •   Sobre fit init:
  •           Cria a pasta .fit e todos os arquivos e subpastas necessárias pro seu programa
  •   Sobre fit add:
  •           Copia o arquivo adicionado para dentro da pasta .fit .
  •           A cópia precisa ser facilmente encontrada por outros commandos.
  •   Sobre fit commit:
  •          Salvar um objeto Commit na pasta .fit
  •          Um commit possui pelo menos uma data, nome e email do author, uma mensagem e um código hash único.
  •   Sobre o fit log:
  •          Percorre os 5 commits em ordem de criação do mais atual pro mais antigo e imprime um resume de cada um na tela.

O que você vai aprender

  •   Como o git funciona
  •   Manipulação de arquivos
  •   Compressão de dados
  •   Estrutura de Dados: Ponteiros e Lista encadeada

Plano Pro

Tenho acesso a todos os conteúdos privados com nosso plano Pro.

Modo Treino

Em dúvida em por onde começar a resolver esse desafio? No modo treino te ajudamos com um passo a passo para você criar sua própria solução.