Os 6 comandos do Git que todo Cientista de Dados deve saber

Uma introdução ao uso do Git para projetos de aprendizado de máquina

O Git é uma plataforma destinada a desenvolvedores para o gerenciamento de projetos e versões de códigos, permitindo desenvolver projetos colaborativos com pessoas do mundo todo. É a rede social dos desenvolvedores.  

Como controle de versão, ele tem a capacidade de gerenciar diferentes versões de um mesmo projeto. É possível assim, obter históricos das modificações, permitir que vários programadores trabalhem no mesmo projeto, e permitir um comparativo entre várias versões do projeto.

Essas funcionalidades são essenciais durante o treinamento de um novo modelo de machine learning, em que vários programadores trabalham no mesmo código. 

Iniciando o processo

Consideraremos aqui que você já tenha o Git instalado, caso não, aqui está um recurso para fazê-lo. Depois disso, não se esqueça de configurar uma chave SSH

Você deve ver o seguinte ao digitar git na linha de comando no Mac / Linux ou GitBash se estiver no Windows.

 

1.Init

Vamos começar com o comando mais básico, o init. Ele inicializa um projeto Git, uma maneira simples para dizer: “adicione os arquivos necessários ao Git na raiz da pasta em que você está”. Simplesmente acione o comando cd para o diretório do seu projeto e digite o seguinte:

 

$ git init

 

Em troca, você receberá uma mensagem dizendo que seu projeto está pronto para a execução.

Você só precisa fazer isso uma vez por projeto.

2. Remote Add

Agora, graças ao comando init, você tem um repositório local para o seu projeto. Você poderá fazer tudo o que precisa para controlar, de maneira satisfatória, seu projeto localmente. Crie um projeto online para aproveitar ao máximo o Git. A maioria dos desenvolvedores têm uma conta GitHub, embora existam boas alternativas como BitBucket e gitlab. De um modo geral esses serviços são semelhantes para quem está iniciando.

Depois de escolher o serviço que você deseja usar, vá em frente e crie um novo projeto.

 

Depois de criar seu projeto, você receberá um URL personalizado. Neste caso, o gerado para este projeto é:https://github.com/jessefreeman/GitExample.git

Tudo o que precisamos fazer agora é conectar nosso projeto local ao projeto online que criamos. Para fazer isso, você usará o seguinte comando:

 

$ git remote add origin <PROJECT_URL>

 

Você também pode se conectar pelo caminho SSH, dependendo do que o serviço Git fornece.

3. Add

Neste ponto, seu projeto está pronto para rastrear versões localmente. Vá em frente e adicione um arquivo ReadMe.txt ou algo à pasta. Lembre-se de que o Git ignora pastas vazias. Quando estiver pronto, adicione as alterações ao repositório. A preparação é uma maneira simples de dizer que o Git vai rastrear arquivos específicos até que você esteja pronto para salvar uma versão deles.

 

Para adicionar arquivos, basta digitar o seguinte comando: 

 

$ git add .

 

Embora você possa especificar arquivos pelo nome após add, . é um curinga que incluirá automaticamente todos os arquivos que foram alterados desde a última confirmação.

4. Status

A qualquer momento, você pode obter uma lista dos arquivos no projeto Git e ver se eles estão prontos ou não. Para fazer isso, digite o seguinte comando:

 

$ git status

 

Isso dará uma lista de todos os arquivos que o Git vê no diretório.

Você pode ver os arquivos não adicionados no momento em vermelho. Os arquivos prontos para serem salvos aparecerão em verde. A lista de status do arquivo é útil quando você desejar ver se está tudo concluído antes de salvar as alterações.

5. Commit

Depois de organizar os arquivos, você precisará salvar uma versão deles. Chamamos isso de commit. O Git pega os arquivos que você adicionou anteriormente e os compara com a última versão. Em seguida, ele salva os deltas, ou as diferenças, em uma pasta .git oculta especial na raiz do seu projeto.

Para salvar as alterações, digite o seguinte na linha de comando: 

 

$ git commit -m "Add a message so you know what you did"

 

Este é provavelmente o mais complexo dos comandos que usamos até agora. Se olharmos para cada parte, estamos ligando commit e -m representando a adição de uma mensagem. Por fim, você fornecerá a mensagem de confirmação entre aspas. Dessa forma, depois você poderá olhar no log de confirmação para lembrar as alterações que você fez.

Se você estiver usando o GitHub, existem alguns recursos interessantes que você pode usar ao confirmar seu código. Aqui citaremos, como exemplo, a aba de Issues do repositório, esse local vai permitir a você acompanhar as tarefas, aprimoramentos e bugs de seu projeto. Cada tópico representa um número de identificação exclusivo e você pode vinculá-lo referenciando-o em seu comentário como este:

 

$ git commit -m "Finished making changes to #1"

 

O GitHub irá adicionar automaticamente um link do seu commit ao problema. É uma ótima maneira de se manter organizado enquanto você trabalha.

6. Push

A última etapa deste processo é enviar todos os seus commits para o repositório remoto no GitHub. O Git é único, pois permite trabalhar localmente até que você esteja pronto para adicioná-los de volta ao repositório principal. É isso que permite que as equipes trabalhem de forma mais eficiente em seus computadores e depois mesclem tudo de volta para um único projeto.

Lembra-se de quando ligamos nosso projeto local ao projeto online? Agora, quando você diz ao Git para empurrar (to push) as alterações, elas serão copiadas e mescladas no projeto principal. Tudo que você precisa fazer é digitar o seguinte na linha de comando: 

 

$ git push --all

 

O --allé semelhante ao curinga ., que usamos anteriormente ao preparar nossos arquivos. Essa flag diz ao Git para enviar todas as confirmações recentes para a origem padrão, que é o que definimos com o comando remote add.

Veja e repita

Agora você já conhece os seis comandos mais essenciais para usar o Git:

  1. init Criar um novo projeto
  2. remote add origin Vincular um projeto local a um projeto online
  3. add Adicionar arquivos para acompanhar
  4. status Retornar a uma lista de arquivos no projeto local
  5. commit Salvar as alterações nesses arquivos
  6. push Copiar essas alterações no projeto online

Agora você pode executar as etapas 3 à 6 para continuar salvando as alterações feitas. Não há limite para o número de confirmações que você pode fazer, embora seja necessário limpar o repositório do Github de tempos em tempos, se você fizer muitas alterações.

À medida que você se sentir mais confortável com o Git, verifique como usar o arquivo .gitignorepara excluir itens específicos que você não deseja que sejam rastreados. Aqui, temos um projeto de Jesse Freeman que poderá ser utilizado como referência e que ignora os modelos gerados e alguns dos arquivos de configuração do projeto Python que não são críticos para quem procura executar o projeto localmente.

Finalmente, é importante observar que o Git tenta armazenar grandes arquivos binários, o que é outro motivo para usar um arquivo .gitignore. Muitos dados de treinamento, como imagem, vídeos ou qualquer coisa acima de 50 megas, podem causar um problema. O GitHub tem um limite rígido para arquivos de tamanho grande, caso envie no commit arquivos assim, você terá que seguir algumas etapas adicionais para desfazer as alterações. É melhor fazer backup desses arquivos em um sistema de controle de versão diferente .

Esperamos que este tutorial tenha sido útil para você que é novo no Git ou para você que procura uma atualização rápida. 

Faça seu comentário ou pergunta. Estaremos aqui para te ajudar.

 

Matéria adaptada de Jesse Freeman

 

Autores

Coordenador de Marketing no Insight Lab