Como trabalhar com Git

Como trabalhar com Git

Com certeza você já ouviu falar de Git, ou até mesmo Github. Se você está começando agora na sua carreira de programação, saiba que Git é a ferramenta que você mais precisa dominar, afinal, você vai usar em todos os seus dias de trabalho.

O que é o Git

O Git é uma ferramenta de versionamento e controle de código. Usada pela maioria dos desenvolvedores, o Git permite compartilhamento de código e controle de cada nova alteração feita em cima desse código.

Vamos imaginar que você tem um projeto em desenvolvimento e neste projeto, você terá que desenvolver uma nova funcionalidade. Pense que se for ser um novo recurso você terá bastante trabalho para desenvolver, levará bastante tempo, muito código será alterado, instabilidades poderão ser geradas. A melhor solução então é ter uma “cópia” do código original, e trabalhar em cima dessa cópia, certo? É isso que o git permite!

O git trabalha com o código em um esquema linear no tempo, ramificando o código em diferentes versões. Cada versão, aqui chamada de “branch”, é criada a partir do código original —identificado pela branch “main” ou “master”, que você pode trabalhar tranquilamente sem medo de alterar algo no original. Cada alteração feita no código você registra no Git como um “commit”, e quando o seu novo recurso estiver desenvolvido, testado e pronto, nós atualizamos a branch “main” com a nova versã: ação conhecida como “merge”.

Untitled.png

Git no dia a dia

Trabalho em equipe

No dia a dia, usar Git é importante para trabalhos em equipe. Você não estará desenvolvendo um código sozinho, sempre terá outros desenvolvedores juntos com você. Já imaginou todo mundo mexendo no mesmo código? E se você e o seu colega mexerem no mesmo arquivo, ou até na mesma função? O ideal é então que cada desenvolvedor trabalhe em branches diferentes, versões diferentes do mesmo código, para evitar todo e qualquer tipo de conflito.

Versionamento

O seu projeto está pronto, rodando em produção, pessoas do mundo inteiro acessando. Entre um recurso novo e outro, um bug surgiu e seu aplicativo está todo travado. E agora para saber que alteração pode ter dado errado? E para dar um Ctrl Z e voltar para uma versão mais estável? O Git mantem um histórico de tudo que acontece no seu projeto. Cada ponto de “merge”, cada nova versão criada, cada linha de código alterada. Desse jeito, é fácil voltar atrás de uma versão em que o bug não existia.

Controle de código

Se você tem uma equipe trabalhando em um mesmo código, o seu projeto pode virar uma bagunça bem fácil. Até falamos que cada desenvolvedor trabalha em uma branch, mas já pensou como é juntar 5 versões diferentes em um mesmo lugar? É ótimo que o Git já organize isso para você, evita conflitos e caso exista algum você será avisado. O grande benefício nesse controle de código é permitir que aconteça revisões, mapeamento de alterações e principalmente o grande controle de “merge” através das “Pull Requests” ou “Merge Requests”: toda e qualquer alteração só vai para a versão original, a branch “main” se for autorizada (geralmente, depois de uma revisão de código e teste de funcionalidade).

Compartilhamento de código

Se você já ouviu falar de Git, com certeza já ouviu falar de Github. E sim, são coisas diferentes: Git é a ferramenta de versionamento e controle de código, Github é uma plataforma que utiliza dessa ferramenta. Claro que dentro de projetos e empresas de TI utilizamos bastante o Github (ou Gitlab) no nosso processo de desenvolvimento, é realmente uma plataforma bem útil. Mas o Github também serve para você compartilhar o seu código com outras pessoas. Principalmente se você estiver começando a sua carreira agora, monte o seu portfolio em seu perfil no Github. Compartilhe todo e qualquer código que você faça, tudo que esteja estudando. É uma ótima maneira de chamar atenção para o seu trabalho como desenvolvedor.

Comando uteis

Criar nova branch

Para criar uma nova versão do código, você deve criar uma nova branch. Veja que você pode criar essa nova versão a partir de qualquer outra versão, por isso, esteja sempre atento para criar a partir da “main” ou “master” —a não ser que seja um caso especial

git checkout -b nomeDaSuaNovaBranch

Mudar de branch

Para mudar a versão de seu código é o mesmo comando de criar uma nova branch:

git checkout main

Atualizar a branch

A sua branch pode estar desatualizada! Se por exemplo, a branch main foi atualizada no git, você precisa atualizar a sua branch localmente em seu computador. O comando abaixo atualiza a branch que você está atualmente:

git fetch ## Baixa em seu computador a versão atualizada
git pull ## Efetua a atualização de código

Enviando suas alterações para a branch

Você editou o código no seu computador mas ainda precisa enviar este código para o Git! Primeiro, registramos todas as alterações, confirmamos essas alterações, e depois, enviamos ao servidor remoto.

git add nomeDoArquivoEditado.js ## Registro das alterações
git commit -m "Uma mensagem de descrição das alterações feitas" ## Confirmação
git push ## Envio ao servidor remoto

Juntando versões

Existem duas branches e você precisa juntar as duas em uma única versão. Esteja no branch que irá receber a atualização e use o comando

git merge nomeDaSuaNovaBranch

Reverter alterações

Se você quer voltar atrás em alguma alteração que foi feita, você pode dar um “revert”. Uma outra possibilidade, é também ir diretamente para o commit —ponto de alteração dentro de uma branch.

git revert HEAD ## "Head" é a ultima alteração feita. Você pode utilizar o código de um commit aqui
git checkout codigoDeUmCommit

Interfaces gráficas

Realmente, são muitos comandos. É legal que você saiba alguns desses comandos, mas você também pode utilizar interfaces gráficas para utilizar o Git: aplicativos que vão trazer todas as informações e permitir que você gerencie mais fácil os recursos disponíves. Vou deixar aqui algumas recomendações: Github Desktop, Git Kraken, Sourcetree, Gitbox, Git Tower

Git é uma ferramenta extremamente importante e que usamos diariamente como desenvolvedores. Use e abuse, tente usar todos os recursos disponíveis, vá ganhando experiência e acostume-se com o Git. Com isso finalizamos nossa introdução ao Git mas tenha certeza que voltaremos a falar sobre o assunto. Nos acompanhe em nosso canal do Discord, inscreva-se na nossa newsletter e fique por dentro da devGo!