Github
A platform for hosting and collaborating on code using Git version control.
GitHub é uma plataforma baseada na web que fornece um sistema de controle de versão distribuído (VCS) baseado em Git. Ele serve como um hub central para a colaboração no desenvolvimento de software, permitindo que os desenvolvedores armazenem, gerenciem, rastreiem alterações e compartilhem seu código. Em sua essência, o GitHub utiliza o Git, um VCS de código aberto criado por Linus Torvalds, que permite o rastreamento eficiente de modificações de código, branching, merging e reversão para versões anteriores. O GitHub estende a funcionalidade do Git, fornecendo uma interface amigável, recursos de hospedagem e um conjunto de ferramentas colaborativas. Os principais recursos incluem repositórios (onde o código e seu histórico são armazenados), pull requests (um mecanismo para propor alterações e facilitar a revisão de código), rastreamento de issues (para relatórios de bugs e solicitações de recursos), wikis (para documentação de projetos) e quadros de gerenciamento de projetos. O GitHub também suporta pipelines de Integração Contínua/Implantação Contínua (CI/CD) através do GitHub Actions, automatizando processos de teste e implantação. Seu aspecto de social coding fomenta a comunidade, permitindo que os desenvolvedores façam fork (copiar) projetos existentes, contribuam de volta e descubram novos softwares. O GitHub é amplamente adotado em projetos de código aberto e empresas privadas, atuando como um padrão de fato para hospedagem de código e desenvolvimento colaborativo no cenário moderno de engenharia de software.
graph LR
Center["Github"]:::main
Pre_cryptography["cryptography"]:::pre --> Center
click Pre_cryptography "/terms/cryptography"
Rel_cloud_computing["cloud-computing"]:::related -.-> Center
click Rel_cloud_computing "/terms/cloud-computing"
Rel_antimatter_propulsion["antimatter-propulsion"]:::related -.-> Center
click Rel_antimatter_propulsion "/terms/antimatter-propulsion"
Rel_arpanet["arpanet"]:::related -.-> Center
click Rel_arpanet "/terms/arpanet"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Teste de conhecimento
🧒 Explique como se eu tivesse 5 anos
GitHub é como uma biblioteca online gigante para código de computador. Ele acompanha cada alteração feita no código, permite que várias pessoas trabalhem juntas nele com segurança e as ajuda a compartilhar suas criações com o mundo.
🤓 Expert Deep Dive
O GitHub funciona como um serviço centralizado construído sobre o protocolo Git distribuído. Enquanto o Git lida com o controle de versão local, branching, merging e gerenciamento de histórico, o GitHub fornece a infraestrutura para hospedagem de repositórios remotos, controle de acesso e fluxos de trabalho colaborativos. O mecanismo de pull request (PR) é central para o modelo colaborativo do GitHub. Um desenvolvedor cria um branch, faz alterações e envia um PR, que aciona verificações automatizadas (CI via GitHub Actions) e permite que outros membros da equipe revisem o código, sugiram modificações e, finalmente, aprovem o merge na base de código principal. Este fluxo de trabalho estruturado aprimora a qualidade e a manutenibilidade do código. A API do GitHub permite uma integração extensiva com ferramentas e serviços de terceiros, possibilitando pipelines de DevOps sofisticados. As considerações de segurança incluem o gerenciamento de permissões de acesso ao repositório (leitura, escrita, administrador), gerenciamento de segredos para CI/CD e varredura de vulnerabilidades. A escala e a ubiquidade da plataforma a tornam uma peça crítica de infraestrutura para o desenvolvimento global de software, com considerações arquitetônicas em torno de escalabilidade, disponibilidade e integridade de dados sendo primordiais para a Microsoft, sua empresa controladora.