GitHub 소개

완료됨

GitHub는 세계에서 가장 큰 오픈 소스 커뮤니티입니다. Microsoft는 GitHub를 소유하고 있습니다. GitHub는 작업 방식에서 영감을 얻은 개발 플랫폼입니다.

오픈 소스에서 비즈니스에 이르는 4천만 명의 개발자와 함께 코드를 호스트 및 검토하고, 프로젝트를 관리하고, 소프트웨어를 빌드할 수 있습니다.

GitHub는 많은 기능을 추가하는 Git 리포지토리 호스팅 서비스입니다.

Git은 명령줄 도구이지만 GitHub는 웹 기반 그래픽 인터페이스를 제공합니다.

또한 모든 프로젝트에 대한 위키 및 필수 작업 관리 도구와 같은 액세스 제어 및 여러 공동 작업 기능을 제공합니다.

그렇다면 GitHub 사용의 주요 이점은 무엇인가요? 거의 모든 오픈 소스 프로젝트는 GitHub를 사용하여 프로젝트를 관리합니다.

프로젝트가 오픈 소스이고 위키 및 문제 추적기를 포함하는 경우 GitHub를 무료로 사용할 수 있으므로 보다 심층적인 설명서를 쉽게 작성하고 프로젝트에 대한 피드백을 얻을 수 있습니다.

GitHub에서 제공하는 기능 중 일부는 무엇인가요?

  • 코드에서 클라우드로 자동화: GitHub Actions를 사용하여 GitHub 패키지 및 기본 제공 CI/CD를 사용하여 프로덕션 코드를 더 빠르게 순환하고 워크플로를 간소화합니다.

    • 워크플로 자동화: 코드를 관리하는 동일한 위치에서 원하는 방식으로 CI/CD를 빌드, 테스트, 배포 및 실행합니다. GitHub 이벤트에서 사용 가능한 모든 API로 작업을 트리거합니다. 선택한 언어로 작업을 빌드하거나 커뮤니티에서 만든 수천 개의 워크플로 및 작업 중에서 선택합니다.
    • "로컬 패키지 및 해당 코드: GitHub Actions를 사용하여 새로운 패키지 버전을 GitHub Packages에 자동으로 게시합니다." CI/CD 워크플로에서 GitHub 패키지 또는 기본 패키지 레지스트리에 호스트되는 패키지 및 이미지를 설치합니다. 오픈 소스는 항상 무료이며 Actions 내의 데이터 전송은 모든 사용자에게 제한이 없습니다.
  • 소프트웨어 함께 보안 유지: GitHub는 개발자, 유지 관리 관리자, 연구원 및 보안 팀 등 전 세계 코드를 보호하는 역할을 합니다. GitHub에서 모든 개발 팀은 포크에서 끝까지 전 세계의 소프트웨어 공급망을 보호하기 위해 협력할 수 있습니다.

    • 코드의 취약성에 대한 경고 가져오기: GitHub는 인기 있는 언어에 대한 보안 권고를 지속적으로 검색합니다. 또한 위험을 수정할 수 있도록 영향을 받는 리포지토리의 유지 관리자에게 세부 정보로 보안 경고를 보냅니다.
    • 취약성 자동 업데이트: GitHub는 프로젝트 종속성을 모니터링하고 끌어오기 요청을 자동으로 열어 알려진 취약성을 해결하는 최소 버전으로 종속성을 업데이트합니다.
    • 최신 공통 취약성 및 노출(CVE)에 대해 계속 알고 있으세요. GitHub 자문 데이터베이스를 통해 CVE가 여러분에게 어떤 영향을 미치는지 자세히 알아보십시오.
    • 다른 도구에서 누락된 취약성 찾기: CodeQL은 업계 최고의 의미 체계 코드 분석 엔진입니다. GitHub의 혁신적인 접근 방식은 코드를 데이터로 처리하여 보안 취약성을 더 빠르게 식별합니다.
    • 변형 제거: 같은 실수를 두 번 하지 마십시오. 사전 예방적 취약성 검사는 취약성이 프로덕션에 도달하는 것을 방지합니다.
    • 토큰을 안전하게 유지: 실수로 공용 리포지토리에 토큰을 커밋하시겠습니까? GitHub가 당신을 얻었습니다. GitHub는 20개 서비스 공급자의 지원을 통해 안전을 유지하기 위한 단계를 수행합니다.
  • 원활한 코드 검토: 코드 검토는 더 나은 코드에 대한 가장 확실한 경로이며 GitHub 작동 방식의 기본 사항입니다. 기본 제공 검토 도구는 코드 검토를 팀 프로세스의 필수적인 부분으로 만듭니다.

    • 변경 제안: 더 나은 코드는 끌어오기 요청, 아이디어를 통해 이야기하고, 작업을 할당하고, 세부 정보를 논의하고, 검토를 수행할 수 있는 변경 내용에 대한 살아있는 대화로 시작됩니다.
    • 검토 요청: 검토의 반대편에 있는 경우 동료의 검토를 요청하여 필요한 자세한 피드백을 얻을 수 있습니다.
    • 차이점 보기: 변경 내용을 정확히 알면 리뷰가 더 빠르게 수행됩니다. Diffs는 소스 코드의 버전을 비교하여 새 부분, 편집된 부분 또는 삭제된 부분을 강조 표시합니다.
    • 컨텍스트에서 코멘트: 토론은 코드 내의 댓글 스레드에서 발생합니다. 댓글을 하나의 리뷰로 묶거나, 대화를 시작하려는 다른 사람에게 답글을 남깁니다.
    • 명확한 피드백 제공: 팀원은 엄지 손가락 이모티콘의 의미에 대해 너무 열심히 생각할 필요가 없습니다. 메모가 필요한 변경 내용인지 아니면 몇 가지 제안 사항인지를 지정합니다.
    • 브랜치 보호: 최고 품질의 코드만 병합하세요. 상태 검사를 요구하도록 리포지토리를 구성하여 사용자 오류 및 관리 오버헤드를 줄일 수 있습니다.
  • 모든 코드 및 설명서: 수억 개의 프라이빗, 퍼블릭 및 오픈 소스 리포지토리가 GitHub에서 호스트됩니다. 모든 리포지토리에는 호스트, 버전 및 릴리스 코드 및 설명서에 도움이 되는 도구가 있습니다.

    • 공동 작업하는 코드: 리포지토리는 코드를 한 곳에 보관하고 Git LFS를 사용하여 큰 파일로 작업하는 경우에도 팀이 좋아하는 도구를 사용하여 공동 작업할 수 있도록 도와줍니다. 개인 및 그룹에 대한 무제한 프라이빗 리포지토리를 사용하여 가능한 한 많은 프로젝트를 만들거나 가져올 수 있습니다.
    • 코드와 함께 설명서: GitHub Pages를 사용하여 리포지토리에서 직접 설명서를 호스트합니다. Jekyll을 정적 사이트 생성기로 사용하고 주 분기의 /docs 폴더에서 Pages를 게시합니다.
  • 아이디어 관리: 일찍 조정하고, 정렬 상태를 유지하고, GitHub의 프로젝트 관리 도구를 사용하여 더 많은 작업을 수행하세요.

    • 프로젝트의 큰 그림을 확인하세요. 프로젝트에서 진행되는 모든 작업을 확인하고, 코드에 가까운 위치에 자리한 프로젝트 및 작업 보드를 통해 팀의 노력을 어디에 집중할지 결정하세요.
    • 작업 추적 및 할당: 문제는 팀 내에서 작업을 식별, 할당 및 추적하는 데 도움이 됩니다. 이슈를 생성하여 버그를 추적하거나, @mention와 아이디어를 논의하거나, 작업 분배를 시작할 수 있습니다.
  • 소프트웨어의 인간적인 측면: 소프트웨어 빌드는 코딩보다는 팀과 커뮤니티를 관리하는 것입니다. 2개 또는 2000개의 그룹에 관계없이 GitHub는 사용자가 필요로 하는 지원을 제공합니다.

    • 팀 관리 및 성장: 사용자가 GitHub 팀과 함께 구성하고, 관리자 역할에 액세스하기 위해 수준을 높이며, 중첩된 팀을 사용하여 사용 권한을 미세 조정할 수 있도록 지원합니다.
    • 대화 유지: 문제 및 끌어오기 요청 잠금과 같은 조정 도구는 팀이 코드에 계속 집중할 수 있도록 도와줍니다. 오픈 소스 프로젝트를 유지 관리하는 경우 사용자 차단은 노이즈를 줄이고 생산적인 대화를 보장합니다.
    • 커뮤니티 지침 설정: 처음부터 시작하지 않고 역할 및 기대치를 설정합니다. 표준 행동 강령을 사용자 지정하여 프로젝트에 완벽한 코드를 만듭니다. 그런 다음 리포지토리에서 미리 작성된 라이선스를 선택합니다.

GitHub는 플랫폼에 뛰어난 학습 리소스를 제공합니다. Git 소개 교육부터 정적 페이지를 GitHub에 게시하는 방법에 대한 심층 분석 및 GitHub에서 DevOps를 수행하는 방법에 대한 자세한 내용은 여기를 참조 하세요.