O que é Github e como funciona?

O que é Git?

Git é um sistema de controle de versão de código-fonte
distribuído e gratuito, criado por Linus Torvalds em 2005. Ele é amplamente
utilizado por desenvolvedores para gerenciar e controlar o histórico de
alterações em arquivos de código-fonte de um projeto de software.

 O Git permite que os desenvolvedores trabalhem em um projeto
de forma colaborativa, possibilitando o compartilhamento do código-fonte e a
colaboração em tempo real. Ele faz isso mantendo um registro de todas as
alterações feitas no código-fonte em um determinado período de tempo e
permitindo que os usuários revertam ou revertam essas alterações conforme
necessário.

 Além disso, o Git é um sistema distribuído, o que significa
que cada usuário possui uma cópia completa do repositório do projeto em seu
próprio computador. Isso permite que os usuários trabalhem offline e sem
depender de um servidor central. Quando as alterações são concluídas, os
usuários podem sincronizar seus repositórios com um repositório central,
geralmente hospedado em uma plataforma como o Github.

O Git é amplamente utilizado por desenvolvedores em todo o
mundo e é uma das ferramentas de gerenciamento de versão de código-fonte mais
populares e poderosas disponíveis hoje. Ele é compatível com várias plataformas
e linguagens de programação, e possui uma ampla gama de recursos para
gerenciamento de código-fonte, gerenciamento de ramificações, gerenciamento de
conflitos e muito mais.

O que é controle de versão Git?

Controle de versão Git é um sistema que permite que desenvolvedores controlem as alterações em seus arquivos de código-fonte ao longo do tempo. Ele é uma ferramenta essencial para gerenciar projetos de software e trabalhar em colaboração com outros desenvolvedores.

 Com o Git, é possível armazenar várias versões de um arquivo em um repositório centralizado, permitindo que os desenvolvedores visualizem o histórico completo de alterações e a evolução do código-fonte ao longo do tempo. O Git permite que os usuários façam alterações em diferentes versões de um arquivo, combinem essas alterações e resolvam conflitos automaticamente ou manualmente.

O que é Github?

O Github é uma plataforma web que permite que desenvolvedores e equipes de desenvolvimento compartilhem e colaborem em projetos de software. Ele é essencialmente um sistema de gerenciamento de versionamento de código-fonte, baseado no sistema de controle de versão Git.

No Github, os usuários podem criar e armazenar repositórios de código, que são coleções de arquivos de código-fonte relacionados a um determinado projeto. Outros usuários podem colaborar nesses projetos, sugerindo melhorias, reportando problemas ou contribuindo com novo código. A plataforma oferece diversas ferramentas e recursos para facilitar a colaboração entre os desenvolvedores, incluindo recursos para revisão de código, gerenciamento de problemas, documentação e integração contínua.

Quais são os recursos do GitHub?

1. Gerenciamento fácil de arquivos

O GitHub oferece um gerenciamento de arquivos simples e fácil que armazena versões individuais de arquivos de forma transparente. Com isso, todos os arquivos são armazenados em repositórios e podem ser acessados por cada funcionário o tempo todo.

2. Hospedagem fácil de código

Esse projeto oferece hospedagem de código fácil e gratuita para projetos JavaScript, CSS e HTML, permitindo que você crie um site estático. Além disso, você pode criar um novo repositório e personalizar o nome do domínio.

3. Maior segurança com pacotes

Os pacotes podem ser publicados de forma privada pelos membros da equipe ou publicamente para a comunidade de código aberto. Os pacotes são usados ou reutilizados por meio de download do GitHub.

4. Melhoria na escrita do código

As solicitações pull permitem que as empresas desenvolvam, revisem e criem novos códigos. Para alterar o código-fonte, os membros da equipe podem discutir dentro do grupo sobre a implementação e a proposta.

5. Colaboração aprimorada

O sistema de controle de versão no GitHub oferece um recurso de colaboração aprimorado que permite a revisão de código por pares, pois os usuários podem rastrear e gerenciar as alterações feitas em arquivos específicos.

6. Repositórios privados

Esses recursos do GitHub permitem que os usuários trabalhem de forma independente em um projeto sem nenhuma intervenção. Os usuários podem salvar facilmente seu trabalho no GitHub em um repositório privado e compartilhar um link para apresentar seu trabalho. Um repositório remoto no GitHub funciona como um portfólio e ajuda a criar um perfil pessoal.

GitHub VS. Git

GitHub e Git são duas coisas diferentes, embora estejam
relacionadas.

O Git é um sistema de controle de versão distribuído usado
para rastrear mudanças no código-fonte durante o desenvolvimento de software.
Ele permite que os desenvolvedores trabalhem em colaboração em projetos de
software, permitindo que eles façam alterações em uma cópia local do
repositório e depois compartilhem suas alterações com outros desenvolvedores.

 O GitHub, por outro lado, é uma plataforma de hospedagem de
código-fonte na nuvem que usa o Git como seu sistema de controle de versão
subjacente. O GitHub permite que desenvolvedores hospedem seus projetos de
software e colaborem com outros desenvolvedores em todo o mundo. Além disso, o
GitHub fornece ferramentas para gerenciamento de projetos, revisão de código,
acompanhamento de problemas e integração contínua, o que o torna uma das
plataformas mais populares para hospedagem de projetos de software.

 O Git é um sistema de controle de versão
distribuído usado para rastrear alterações no código-fonte, enquanto o GitHub é
uma plataforma de hospedagem de código-fonte que usa o Git como seu sistema de
controle de versão subjacente e fornece ferramentas adicionais para
gerenciamento de projetos e colaboração de desenvolvedores.

Git Hub Repos:

Os repositórios (ou “repos”, abreviação em inglês) no GitHub são locais onde você pode armazenar seu código-fonte e outros arquivos relacionados a um projeto. Os repositórios podem ser criados por um usuário ou por uma organização no GitHub e são usados para gerenciar diferentes versões de um projeto e permitir que os desenvolvedores trabalhem juntos em um código-fonte compartilhado.

 Cada repositório no GitHub possui uma página principal onde é exibida uma lista de todos os arquivos e pastas no repositório, juntamente com informações sobre o histórico de commits, pull requests e outras atividades relacionadas ao projeto. Além disso, o GitHub oferece várias ferramentas de gerenciamento de repositórios, como controle de acesso, colaboração em equipe, gerenciamento de problemas e integração com outras ferramentas de desenvolvimento de software.

Os repositórios no GitHub podem ser públicos ou privados. Os repositórios públicos são acessíveis por qualquer pessoa na internet e são usados principalmente para projetos de código-fonte aberto, enquanto os repositórios privados são acessíveis apenas para membros autorizados e são usados principalmente para projetos comerciais ou internos. O GitHub oferece hospedagem gratuita de repositórios públicos, e os repositórios privados são cobrados de acordo com o plano escolhido pelo usuário ou organização.

Git Hub Branches:

No GitHub, as branches (ramificações) são versões alternativas do código-fonte de um repositório. Cada branch é uma cópia separada do código-fonte que pode ser modificada sem afetar outras branches ou o código-fonte principal do repositório (conhecido como “branch master” ou “main”).

As branches são frequentemente usadas para trabalhar em novos recursos, correções de bugs ou outras melhorias sem interferir no trabalho em outras partes do código-fonte. As branches também são usadas para testar novas funcionalidades antes de integrá-las ao branch principal do repositório.

Para criar uma nova branch no GitHub, siga estes passos:

  • Navegue até o repositório no GitHub.
  • Clique no botão “Branch: master” (ou “main”) no canto superior esquerdo da página.
  • Digite um nome para a nova branch no campo de pesquisa e clique em “Create branch”.

Agora você pode trabalhar na nova branch, fazendo alterações no código-fonte e fazendo commits. Quando estiver pronto para integrar suas alterações ao branch principal do repositório, você pode fazer um “pull request” (pedido de pull), que é uma solicitação para que os mantenedores do repositório revisem suas alterações e as integrem ao código-fonte principal.

É importante lembrar que trabalhar com branches requer cuidado e atenção, pois alterações em uma branch podem afetar outras partes do código-fonte ou causar conflitos com outras branches. Por isso, é recomendável seguir boas práticas de desenvolvimento de software e fazer testes rigorosos antes de integrar suas alterações ao branch principal do repositório.

Como começar a usar o GitHub?

Para começar a usar o GitHub, você precisará seguir alguns
passos:

  1. Criar uma conta no GitHub: Acesse o site https://github.com/
    e clicar em “Sign up” para criar uma conta. É possível criar uma conta gratuita, que permite hospedar repositórios públicos.
  2. Instalar o Git: O Git é o sistema de controle de versão que o GitHub usa. Você precisará instalá-lo em sua máquina para começar a usar o GitHub. Você pode baixá-lo em https://git-scm.com/downloads.
  3. Criar um repositório: Um repositório é um local onde você pode armazenar e gerenciar seu código-fonte. Para criar um repositório, clique
    em “New” no seu painel do GitHub e escolha a opção “New repository”.
  4. Clonar o repositório em sua máquina: Para começar a trabalhar em seu código-fonte, você precisará clonar o repositório em sua máquina. Para fazer isso, abra um terminal e navegue até o diretório onde deseja armazenar o repositório. Em seguida, use o comando “git clone” seguido do URL do repositório.
  5. Adicionar e modificar arquivos: Agora que você tem o repositório em sua máquina, você pode adicionar e modificar arquivos. Quando estiver pronto para fazer upload de suas alterações para o GitHub, você precisará usar os comandos “git add” e “git commit” para preparar suas alterações e, em seguida, o comando “git push” para enviá-las para o repositório remoto no GitHub.

    Esses são apenas os passos básicos para começar a usar o GitHub. Existem muitas outras ferramentas e recursos disponíveis no GitHub para ajudá-lo a gerenciar seu projeto de software e colaborar com outros desenvolvedores.

Fonte:

Douglas Bernardini

Cybersecurity Specialist & Cloud Computing Expert with +10 years experience in IT infrastructure.

Specialist delivering assets for development teams in Google Cloud Platform (GCP) and Amazon web services (AWS)

Hands-on cloud security enterprise architect, with experience in SIEM/SOC, IAM, cryptography, pentest, network topologies, operating systems, databases, and applications.

Experience in DevSecOps analysis to discover vulnerabilities in software, identifying CI/CD risks gaps and recommending secure-coding process (S-SDLC).