Github

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

GitHub는 Git을 기반으로 하는 분산 버전 관리 시스템(VCS)을 제공하는 웹 기반 플랫폼입니다. 소프트웨어 개발 협업을 위한 중앙 허브 역할을 하며, 개발자가 코드를 저장, 관리, 변경 추적 및 공유할 수 있도록 지원합니다. GitHub의 핵심에는 Linus Torvalds가 만든 오픈 소스 VCS인 Git이 사용되며, 이를 통해 코드 수정 사항 추적, 브랜칭, 병합 및 이전 버전으로의 복귀를 효율적으로 수행할 수 있습니다. GitHub는 사용자 친화적인 인터페이스, 호스팅 기능 및 협업 도구 모음을 제공하여 Git의 기능을 확장합니다. 주요 기능에는 리포지토리(코드 및 해당 기록이 저장되는 곳), 풀 리퀘스트(변경 제안 및 코드 검토 촉진 메커니즘), 이슈 트래킹(버그 보고 및 기능 요청용), 위키(프로젝트 문서용) 및 프로젝트 관리 보드가 있습니다. GitHub는 GitHub Actions를 통해 지속적 통합/지속적 배포(CI/CD) 파이프라인을 지원하여 테스트 및 배포 프로세스를 자동화합니다. 소셜 코딩 측면은 개발자가 기존 프로젝트를 포크(복사)하고, 기여하고, 새로운 소프트웨어를 발견할 수 있도록 하여 커뮤니티를 육성합니다. GitHub는 오픈 소스 프로젝트 및 민간 기업 전반에 널리 채택되어 현대 소프트웨어 엔지니어링 환경에서 코드 호스팅 및 협업 개발의 사실상 표준 역할을 합니다.

        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;

      

🧠 지식 테스트

1 / 3

🧒 5살도 이해할 수 있게 설명

GitHub는 컴퓨터 코드의 거대한 온라인 라이브러리와 같습니다. 코드에 대한 모든 변경 사항을 추적하고, 여러 사람이 안전하게 함께 작업할 수 있도록 하며, 자신의 창작물을 세상과 공유하는 데 도움을 줍니다.

🤓 Expert Deep Dive

GitHub는 분산 Git 프로토콜 위에 구축된 중앙 집중식 서비스 역할을 합니다. Git은 로컬 버전 관리, 브랜칭, 병이 및 기록 관리를 처리하는 반면, GitHub는 원격 리포지토리 호스팅, 액세스 제어 및 협업 워크플로우를 위한 인프라를 제공합니다. 풀 리퀘스트(PR) 메커니즘은 GitHub의 협업 모델의 핵심입니다. 개발자는 브랜치를 생성하고, 변경 사항을 적용한 다음, PR을 제출하며, 이는 자동화된 검사(GitHub Actions를 통한 CI)를 트리거하고 다른 팀 구성원이 코드를 검토하고 수정을 제안하며 궁극적으로 메인 코드베이스로의 병합을 승인할 수 있도록 합니다. 이 구조화된 워크플로우는 코드 품질과 유지 관리성을 향상시킵니다. GitHub의 API는 타사 도구 및 서비스와의 광범위한 통합을 허용하여 정교한 DevOps 파이프라인을 가능하게 합니다. 보안 고려 사항에는 리포지토리 액세스 권한(읽기, 쓰기, 관리자) 관리, CI/CD를 위한 비밀 관리 및 취약점 스캔이 포함됩니다. 플랫폼의 규모와 보편성은 전 세계 소프트웨어 개발의 중요한 인프라 조각으로 만들며, 마이크로소프트(모회사)에게는 확장성, 가용성 및 데이터 무결성에 대한 아키텍처 고려 사항이 가장 중요합니다.

🔗 관련 용어

선행 지식:

📚 출처