Carreiras Digitais e Desenvolvimento Profissional | Tera Blog

15 comandos git que vão te ajudar a programar | Blog da Tera

Escrito por Gabriel Sacramento | 12 Jan

Conhecer e dominar os comandos git é uma tarefa essencial para se destacar no mercado de tecnologia. Conheça os principais para o seu dia a dia na plataforma.

Photo by Nicole Wolf on Unsplash

Se você se envolve em projetos grandes, com várias pessoas, é praticamente inevitável a busca por uma aplicação de controle de versão. O software vai ajudar a gerenciar o trabalho de todas as pessoas, de modo a evitar falhas de atualização e problemas de compatibilidade. Além disso, permite recuperar versões antigas.

Dentre as opções mais comuns, o git se destaca como uma ótima alternativa. O sistema apresenta uma série de funcionalidades e recursos poderosos para quem programa em equipe no desenvolvimento de sistemas grandes. 

Por isso, é fundamental conhecer os comandos git e saber como lidar com eles para fazer upload de suas mudanças e garantir a comunicação com o time. Isso se você lida com desenvolvimento web ou com Data Science

Já falamos sobre git e github aqui no blog, porém este conteúdo possui uma proposta mais prática, de ensinar os comandos mais importantes. Entenda mais sobre git, versionamento e sobre os comandos que você precisa saber a seguir.

O que é git?

O git é um sistema de controle de versão de códigos. Gerencia ramificações feitas por diferentes pessoas de um time de modo a manter a ordem e integração de todas as partes. Ou seja, mesmo que várias pessoas estejam trabalhando em um programa ao mesmo tempo, ainda é possível controlar as mudanças para evitar erros.

Sem um controle de versionamento, como o que o git propõe, pode haver o risco de pessoas acessarem diferentes versões e suas mudanças sumirem por conta da desorganização. 

Além disso, o git é um sistema que permite rastrear alterações e manter um histórico dessas alterações para possibilitar voltar a uma versão estável sempre que ocorrer um problema. Ou seja, caso algum erro quebre o sistema em desenvolvimento, é viável voltar para a versão funcional saudável.

Em complemento ao que falamos, o git ajuda também na transparência e no controle das mudanças feitas. Viabiliza o conhecimento sobre quem fez o quê e a frequência dessas modificações.

Para prosseguirmos, no entanto, é importante destacar a diferença do git para o github. O github é uma plataforma de gestão de códigos que se baseia no git e adiciona um fator social, de compartilhamento e interação interpessoal. O hub é crucial para a gestão de projetos, pois ajuda a visualizar as responsabilidades e as entregas, com um controle de prazos e de detalhes.

O hub é um site aberto para todos. Então, é comum que pessoas colaborem com projetos de outras pessoas dev que nem conhecem, de outros estados ou países. Projetos open-source são disponibilizados lá e podem ser alterados por qualquer pessoa desenvolvedora. Isso só reforça o aspecto comunitário e colaborativo da área de programação. 

Ou seja, enquanto o git é o sistema por trás, que cuida dos códigos e comandos e gerencia as ramificações, o hub é a plataforma onde se postam os códigos. 

O github é uma das plataformas baseadas no git, inclusive. Existem várias outras que tentam implementar as mesmas funções e nelas se usam os mesmos comandos git. Alguns exemplos delas: GitLab e Apache Allura. 

Quais são os comandos git que você precisa saber?

Então, vamos mencionar e desenvolver os principais comandos git que você precisa conhecer para gerenciar seus projetos, seja no github, seja em outras plataformas. 

Para executar esses comandos git, basta abrir o prompt de comando ou CMD no seu computador. Usaremos o github como exemplo de repositório.

1. git commit

O commit é um comando importantíssimo. Ele leva as mudanças de um ambiente local para o repositório no git, permitindo ainda a inserção de uma mensagem descritiva. Assim, a cada mudança ou finalização de uma tarefa, a pessoa desenvolvedora pode submeter seus feitos e deixar claro para as outras pessoas o que ela fez. 

Fonte: Towards Data Science

2. git add

Um comando muito similar ao “commit” e que trabalha com ele é o “add”. Com essa palavra-chave, nós preparamos arquivos para o próximo “commit”, ou seja, para subir para o repositório na web. É possível adicionar um único arquivo ou todos os arquivos modificados de uma única vez.

Para um único arquivo, use “git add nome_do_arquivo”. Para preparar todos os arquivos para atualização (incluindo as exclusões), use “git add -A”. Para preparar somente as adições, use “git add .”

3. git init

O init é o primeiro dos comandos git que se usa para começar um repositório. Isto é, o que ele faz é transformar uma pasta com códigos no seu HD em uma pasta monitorada pelo git, que será carregada para a plataforma e estará visível para outras pessoas. Ou então cria um repositório novo, do zero. Exemplo: “git init”

4. git clone

Para começar, muitas pessoas optam por uma alternativa ao init: o git clone. A partir dele, você clona um código de um repositório para a sua máquina para então começar a trabalhar nele. Pode ser um projeto de uma pessoa da sua empresa, um projeto de colegas da faculdade ou até mesmo uma aplicação open-source para a qual você julgou interessante colaborar.

Fonte: Comandos Git

5. git status

Para saber algumas informações sobre a ramificação na qual você está trabalhando agora, use o “status”. Esse comando esclarece quais arquivos foram alterados e faz uma comparação com relação à ramificação principal. Exemplo: “git status”

6. git branch

Aliás, falando em ramificações, precisamos falar logo sobre o termo branch. Para trabalhar em equipe, você pode criar diferentes branches, e o git administra todas elas em paralelo para evitar problemas de versão. Então, posteriormente, com um comando que veremos, é possível unificar as ramificações.

O comando “git branch” cria novas branches. Mas também pode funcionar como uma forma de verificar as ramificações já existentes. 

Depois de criar uma, você precisa de um “push” para subir essa ramificação. Assim:

“git push -u <remote> <nome-da-branch>”.

Por sua vez, para deletar uma branch, use:

git branch -d <nome-da-branch>

7. git merge

Depois de programar em uma branch, você tem que fazer uma conjunção dela com outras para de fato subir as alterações. É só colocar o nome da branch que desejamos mesclar com a principal depois do termo merge.

Fonte: Towards Data Science

8. git checkout

Para fazer o merge corretamente, é preciso olhar esse outro comando, o checkout. O objetivo dele é fazer a pessoa programadora mudar de branch. Você pode usar o “git branch” para saber quais existem e depois trocar de uma para outra. 

É importante destacar que é preciso fazer um checkout para a master branch quando queremos captar as mudanças de outra ramificação.

 

Fonte: Towards Data Science

9. git revert

O revert é um dos comandos git aplicados para garantir a segurança dos nossos projetos. Permite desfazer algum commit e recuperar uma versão saudável, seja localmente, seja remotamente. 

Para usá-lo, é preciso primeiro executar um “git log -- oneline” para obter o número do hash. Com o hash, então, é possível digitar: “git revert 'nº do hash'”.

10. git rm

O git rm é um comando muito útil para remover arquivos do git e parar de monitorá-los, ou seja, de associá-los ao repositório. 

Fonte: Comandos Git

11. git pull

Antes de começar a programar em algum repositório, é bom também executar um “pull”. Esse comando traz para a sua máquina todas as mudanças que foram realizadas na plataforma. Ou seja, é uma forma de atualizar a sua versão da aplicação com o que foi alterado remotamente.

Fonte: Comandos Git

12. git stash

O stash serve para criar uma pilha de alterações que serão enviadas posteriormente para o repositório. É uma boa forma de guardar algumas mudanças em espera enquanto você muda de branch para trabalhar em outros aspectos do sistema. É ideal para sistemas grandes, com muitas ramificações que demandam essa flexibilidade da pessoa programadora. Exemplo: “git stash”

13. git config

O config é um comando inicial para vincular o trabalho no repositório com sua conta no github. Assim, é configurado com o nome e com o e-mail. 

Fonte: Comandos Git

14. git reset

O reset é outra forma de voltar ao último estado saudável do seu sistema, uma alternativa ao revert. Funciona assim: “git reset --hard HEAD~1”.

15. git push

O push serve para subir as alterações de uma ramificação para um certo repositório. Ele entrega todos os commits e a mensagem. Exemplo: “git push”

Fonte: Towards Data Science

Por que usar o git?

Agora, vamos examinar alguns motivos pelos quais toda pessoa profissional de tecnologia deve usar o git, independentemente se sua área é desenvolvimento web, ciência de dados ou outra. 

Documentação

Um dos pontos é a documentação, uma prática fundamental no universo de TI. O ato de documentar sistemas é importante para torná-los transparentes e fáceis de entender para outras pessoas. Se uma pessoa trabalha em uma empresa e documenta bem seus projetos, outras pessoas têm fácil acesso e conseguem prosseguir com o trabalho, mesmo sem ter contato direto com a equipe.

Ou seja, a documentação favorece a comunicação e deve ser encorajada. Com as ferramentas que implementam o git, como o github, você dispõe de uma plataforma para hospedar o código, criar arquivos de explicação/tutorial, comentar os códigos e as alterações e criar diversas informações úteis para quem for ler depois. 

Ou seja, é possível pensar na continuação e na manutenção de uma aplicação de forma segura e precisa.

Redução no tempo de deploy

Outro motivo para considerar o uso de um sistema de versão como o git é a redução do tempo de deploy e simplificação desse processo. Atualmente, diversas demandas em TI fazem com que as pessoas tenham que atualizar os sistemas rápida e constantemente, de forma integrada, como os ideais de DevOps e MLOps. 

Assim, ter um deploy rápido e eficiente é necessário. O git ajuda nessa questão oferecendo às pessoas profissionais a capacidade de subir alterações com facilidade, controlando as ramificações, como já vimos. 

Exibição do seu trabalho

Para as pessoas que aspiram por boas oportunidades de emprego e até para as que buscam melhorias na carreira, o git e as plataformas que utilizam o git são essenciais. Elas permitem mostrar o seu trabalho, os seus projetos, a frequência de codificação, as suas soluções e a sua organização como pessoa desenvolvedora. 

Desse modo, você consegue mostrar na prática para pessoas recrutadoras o que sabe fazer e pode se destacar até mesmo sem diploma em muitos casos.

Colaboração com outros projetos

Outra vantagem que ilustra o porquê de usar o git é a possibilidade de colaborar com projetos diversos. Você pode se engajar em desafios e na busca de soluções para problemas variados, de acordo com sua área de expertise. Isso ficará registrado no perfil para ser mostrado em entrevistas de emprego, como falamos. Ademais, também é uma chance de evoluir na carreira na prática. 

Diversos arquivos de grandes empresas estão disponíveis no github, por exemplo. Isso é bom para entender essas aplicações, estudá-las e até cooperar com elas. Exemplos: os frameworks AngularJS e bootstrap, a linguagem Ruby on Rails, etc. 

Facilidade de usar 

Outro ponto é a facilidade de manipular o sistema, com o auxílio dos comandos git. Trata-se de um sistema de controle de versão que se destaca por ser intuitivo, como demonstramos com os comandos neste artigo. Com alguns comandos simples, você consegue configurar seu repositório, clonar um repositório, deletar arquivos, parar de monitorar arquivos, mudar de branch, etc. 

Guias como este ajudam você a evoluir no domínio do sistema. Assim, as pessoas estudantes podem começar rapidamente e obter bons resultados com as plataformas como o github.

....

Esses comandos git vão te ajudar a programar e a desenvolver seus projetos com segurança e eficiência. Assim, você se prepara para dominar uma das ferramentas mais usadas nesse universo e para lidar com projetos grandes. Ter essa habilidade é muito importante para o currículo, independentemente se você é uma pessoa desenvolvedora web ou uma cientista de dados. 

Gostou do conteúdo? Compartilhe no LinkedIn e ajude outras pessoas que precisam entender melhor o git.