Github

A platform for hosting and collaborating on code using Git version control.

GitHub to platforma internetowa, która zapewnia rozproszony system kontroli wersji (VCS) oparty na Git. Służy jako centralne centrum współpracy przy tworzeniu oprogramowania, umożliwiając programistom przechowywanie, zarządzanie, śledzenie zmian i udostępnianie swojego kodu. U podstaw GitHub wykorzystuje Git, system kontroli wersji typu open-source stworzony przez Linusa Torvaldsa, który pozwala na efektywne śledzenie modyfikacji kodu, tworzenie gałęzi (branching), scalanie (merging) i przywracanie poprzednich wersji. GitHub rozszerza funkcjonalność Git, zapewniając przyjazny interfejs użytkownika, możliwości hostingu i zestaw narzędzi do współpracy. Kluczowe funkcje obejmują repozytoria (gdzie przechowywany jest kod i jego historia), żądania ściągnięcia (pull requests - mechanizm proponowania zmian i ułatwiania przeglądu kodu), śledzenie zgłoszeń (issue tracking - dla raportów o błędach i żądań funkcji), wiki (do dokumentacji projektów) oraz tablice zarządzania projektami. GitHub obsługuje również potoki ciągłej integracji/ciągłego wdrażania (CI/CD) za pośrednictwem GitHub Actions, automatyzując procesy testowania i wdrażania. Jego aspekt społecznościowy (social coding) wspiera społeczność, pozwalając programistom na forkowanie (kopiowanie) istniejących projektów, wnoszenie wkładu i odkrywanie nowego oprogramowania. GitHub jest szeroko stosowany w projektach open-source i prywatnych przedsiębiorstwach, działając jako de facto standard dla hostingu kodu i rozwoju opartego na współpracy w nowoczesnym krajobrazie inżynierii oprogramowania.

        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;

      

🧠 Sprawdzenie wiedzy

1 / 3

🧒 Wyjaśnij jak 5-latkowi

GitHub jest jak wielka internetowa biblioteka kodu komputerowego. Śledzi każdą zmianę wprowadzoną w kodzie, pozwala wielu osobom bezpiecznie nad nim pracować razem i pomaga im dzielić się swoimi dziełami ze światem.

🤓 Expert Deep Dive

GitHub działa jako scentralizowana usługa zbudowana na rozproszonym protokole Git. Podczas gdy Git obsługuje lokalną kontrolę wersji, tworzenie gałęzi, scalanie i zarządzanie historią, GitHub zapewnia infrastrukturę do hostingu zdalnych repozytoriów, kontroli dostępu i przepływów pracy opartych na współpracy. Mechanizm żądania ściągnięcia (pull request - PR) jest kluczowy dla modelu współpracy GitHub. Programista tworzy gałąź, wprowadza zmiany i przesyła PR, co uruchamia zautomatyzowane kontrole (CI za pośrednictwem GitHub Actions) i pozwala innym członkom zespołu na przeglądanie kodu, sugerowanie modyfikacji i ostatecznie zatwierdzenie scalenia z główną bazą kodu. Ten ustrukturyzowany przepływ pracy poprawia jakość i łatwość utrzymania kodu. API GitHub pozwala na szeroką integrację z narzędziami i usługami stron trzecich, umożliwiając zaawansowane potoki DevOps. Kwestie bezpieczeństwa obejmują zarządzanie uprawnieniami dostępu do repozytoriów (odczyt, zapis, administrator), zarządzanie sekretami dla CI/CD oraz skanowanie w poszukiwaniu luk. Skala i wszechobecność platformy czynią ją krytycznym elementem infrastruktury dla globalnego rozwoju oprogramowania, a kwestie architektoniczne dotyczące skalowalności, dostępności i integralności danych są kluczowe dla Microsoftu, jej firmy macierzystej.

🔗 Powiązane terminy

Wymagana wiedza:

📚 Źródła