O que é GITHUB, e devo usá-lo?

A GITHUB foi fundada em Abril de 2008 por Tom Preston-Werner, Chris Wanstrath, PJ Hyett e Scott Chacon.

Seu propósito é hospedar repositórios, ter controle de versão, colaboração e acompanhamento de bugs. A idéia era criar um serviço que permitisse à comunidade de programação rastrear centralmente como eles gerenciam seu código, permitir a colaboração em novas idéias.

Muitas comunidades de código aberto hospedariam seu código no site usando as contas gratuitas que eles fornecem.

Isto permitiu à comunidade de código aberto usar as ferramentas e a capacidade de colaboração para construir novos pacotes de software e soluções.

Qual é o seu tamanho?

Com mais de

56+ milhões Desenvolvedores *

3+ milhões Organizações *

Mais de 100 milhões de Repositórios *

*Fonte: Site do GitHub

O site tornou-se um serviço inestimável para a comunidade tecnológica. Como resultado, em junho de 2018, a corporação Microsoft comprou a empresa.

Isto deu ao serviço o reconhecimento de ser agora mainstream, com um suporte tecnológico robusto, assegurando-o para o futuro.

Seu crescimento em números e repositórios permitiu que ele se tornasse um dos melhores sites que permite gerenciar as diferentes versões do seu código.

Quais são os ganhos de produtividade decorrentes da sua utilização, e como pode beneficiar a minha organização ou a mim?

  • Codificação colaborativa
    • As revisões de código facilitam uma melhor codificação e armadilha de erros.
    • As discussões em equipa permitem uma melhor formação de equipas e melhores ideias.
    • Solicitar a revisão de vários revisores permite uma ampla difusão do conhecimento dentro da equipe.
    • Construir e testar dentro de um ambiente de desenvolvimento de nuvens.
      • Permite testar e depurar, assegura que todos os problemas são detectados cedo, reduz as correcções pós-implementação.
  • Automação e Automação
    • CI ( integração contínua) e CD ( entrega ou implantação contínua ) ajudam a racionalizar lançamentos e automatizar tarefas específicas.
    • Automatize todos os seus fluxos de trabalho de desenvolvimento de software,
    • Mapear fluxos de trabalho, acompanhar seu progresso em tempo real, entender fluxos de trabalho complexos e comunicar o status com o resto da equipe.
    • Cumprir os requisitos de segurança e conformidade para a entrega com segredos e regras de protecção.
  • Segurança
    • Enquanto você escreve o código, você pode protegê-lo, garantindo que o acesso a ele e as mudanças sejam gerenciadas.
    • Se você estiver usando código aberto, verifique se há vulnerabilidades em quaisquer dependências dentro do código.
    • Crie repositórios privados, compartilhando-os apenas com pessoas que você quer ver o que está fazendo.
    • Verificação de código - permite que você verifique vulnerabilidades no seu código.
  • Gestão de Projectos
    • Rastreie os resultados do projeto.
    • Estabeleça marcos.
    • Visuais para permitir uma melhor compreensão do progresso.

Algumas das organizações que utilizam o GitHub

3m

Adobe

Deliveroo

Dow Jones

NASA

Listra

Então deves usá-lo?

Eu acho que muito disto depende do seguinte:

  1. Tamanho da empresa.
  2. Requisitos de produtividade.
  3. A complexidade dos projectos.
  4. Que código você quer colocar no site.
  5. Você tem a capacidade dentro da organização para administrar por conta própria?
  6. O seu orçamento!

Então, se eu fosse usar GitHub, aqui estão algumas das coisas que me encorajam:

  • Grandes volumes de usuários usam o sistema diariamente.
  • As grandes e pequenas empresas utilizam a plataforma. Eles testaram a sua segurança e os seus controlos.
  • Eles são propriedade de uma empresa significativa, estabilidade e continuidade para o futuro.
  • Um grande espaço para projetos open source poderia potencialmente ter soluções para alguns de seus problemas no site.
  • A colaboração se torna mais gerenciável, e as correções de bugs para solução de problemas podem ser rastreadas e rastreadas.
  • Ambientes de desenvolvimento em máquinas virtuais ajudam a identificar vulnerabilidades de código antes que elas sejam colocadas em produção.