image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

VG

Victor Gustavo07/01/2024 17:28
Compartilhe

Explorando o básico de versionamento de código - Git e GitHub

    O que é versionamento de código e por que é tão importante?

    Versionamento de código é o sistema que guarda as mudanças feitas em arquivos, desde um arquivo específico a vários arquivos. A cada alteração uma nova versão será feita, da qual, cada uma poderá ser acessada de maneira separada. Esse sistema é importante para nós DEV 's, pois é de suma importância manter versões separadas dos nossos projetos. Além de resolver a problemática de diversas pessoas trabalhando simultaneamente, por meio das branches (ou ramos) que serão discutidas mais à frente.

    Sistemas Locais de Controle de Versão

    Um sistema local consiste na cópia de um arquivo para um diretório/pasta do computador. De certa forma é uma abordagem rápida e fácil, mas está propensa a erros, como: esquecer o diretório ou de maneira acidental, deletar, copiar ou sobrescrever arquivos indesejados.

    Com base nesses problemas, DEV’s criaram VCSs locais que armazenam diversas versões do mesmo arquivo. Sendo possível acessar essas outras versões e fazer modificações.

    image

    Figura 1. Imagem da documentação do git: https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Sobre-Controle-de-Vers%C3%A3o

    Sistemas Centralizados de Controle de Versão

    Mas foi necessário expandir esse conceito para que as pessoas possam trabalhar no mesmo projeto, logo, não poderia ser num sistema local. Nos projetos de desenvolvimento, as pessoas colaboram entre si com diversas versões do mesmo sistema e em sistemas centralizados de controle de versão. Todos os arquivos estão em um único servidor central que permite as mesmas coisas de um sistema local, porém em conjunto. A imagem abaixo exemplifica isso:

    image

    Figura 2. Imagem da documentação do git: https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Sobre-Controle-de-Vers%C3%A3o

    Porém, no mundo da tecnologia existe uma falha no quesito backup de dados e arquivos. Ao salvar um projeto, arquivo ou pasta em um único lugar do seu sistema de armazenamento e não manter uma segunda versão em algum PenDrive ou em algum sistema da nuvem. Pode ser que algum dia esse sistema de armazenamento corrompa e haja a perda destes arquivos, mas esse exemplo é um pessoal, passemos então para uma situação hipotética dentro de uma empresa. Se o servidor que armazena os arquivos, “cair”, isso impossibilita o trabalho das pessoas da empresa por determinado tempo até que o problema seja corrigido. Porém se o disco rígido do servidor central corromper e não houver backups, o problema será bem maior, haverá a perda absoluta dos arquivos do servidor.

     

    Sistemas Distribuídos de Controle de Versão

    Esses sistemas, propõem acabar com os problemas de perda de arquivos. Nestes sistemas, os arquivos são duplicados do servidor remoto para o servidor local. Sendo assim, cada sistema que estiver colaborando para o projeto, terá um backup completo do repositório. Assim, não terá risco de perder os arquivos caso algum servidor "morra".

    image

    Figura 3. Imagem da documentação do git: https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Sobre-Controle-de-Vers%C3%A3o

    O que é o Git?

    Dado o contexto, podemos responder a pergunta do que é o Git de maneira simples e objetiva. O Git é um sistema distribuído de versionamento de código e isso o torna muito completo e amplamente utilizado no mercado.

    O que é o GitHub?

    O GitHub é uma plataforma de hospedagem de código online que utiliza o controle de versão de código Git.

    Como instalar o Git (Windows)

    1. Acessar a sessão download do site https://git-scm.com/download/win
    2. Fazer o download da versão desejada.

    Para mais informações de como instalar o Git em outros sistemas operacionais, recomendo acessar a documentação do Git (https://git-scm.com/book/pt-br/v2/Come%C3%A7ando-Instalando-o-Git)

    Primeiros passos com git:

    Para abrir o terminal (default) do Git, vá até a pasta desejada e siga os passos a seguir, no exemplo, será utilizado a área de trabalho, mas no seu PC utilize a pasta de seu desejo.

    1. Na área de trabalho clique com o botão direito do mouse, prossiga clicando em Git Bash: image
    2. Será aberto o terminalimage
    3. No terminal você poderá utilizar os comandos básicos mostrados neste artigo ou qualquer comando que estiver na documentação do Git (https://git-scm.com/doc)

    Comando básicos:

    • O Git possui uma ferramenta chamada Git Config, que permite que você configure variáveis como: user.name (nome) e user.email (email) que são a sua identidade. Por meio dessas variáveis, seus commits serão identificados.
    • git config --global user.name <NOME DESEJADO> - Este comando irá mudar a variável user.name na configuração do Git
    • git config --global user.email <EMAIL DESEJADO> - Este comando irá mudar a variável user.email na configuração do Git. Para mais informações, acessar a documentação (https://git-scm.com/doc)
    • git init - Cria um novo repositório Git na pasta que está localizado.
    • git clone <URL> - Clona um repositório remoto (GitHub), URL (Link do repositório no GitHub)
    • git remote add origin <URL> - Conecta um repositório local com um no GitHub
    • git add <NOME DO ARQUIVO> ou .(adiciona todos) - Monitora os arquivos do repositório local ao git
    • git commit -m “Commit inicial”- Adiciona os arquivos ao git (-m representa a mensagem do commit e a frase entre aspas é a mensagem final do commit)
    • git status - Permite que você veja o estado dos arquivos, para commit ou add.
    • git push - Permite que você, ao estar com o repositório local conectado ao remoto, mande as alterações do repositório local para o remoto.
    • git pull - integra o repositório local com o remoto.

    Esta foi uma série de comandos básicos. Este artigo não se aprofunda nos comandos para saber mais detalhes, segue a documentação: https://git-scm.com/doc 

    O que vem a seguir?

    Aprofundar-se nos comandos de Git e conceitos básicos, tais como:

    Branches: Duplicação do projeto, assim podendo modificá-lo sem afetar a branch principal do projeto.

    Resolução de conflito: Commits entre diferentes branches.

    Merge: Fusão entre diferentes branches.

    Deve-se pesquisar mais e mais, ler a documentação, assistir aulas e palestras sobre Git. O mais importante é sair da zona de conforto e se permitir errar, dessa forma, o êxito será alcançado. 

    Compartilhe
    Comentários (0)