GitHub란?
이 단원에서는 다음 학습 목표를 검토합니다.
- GitHub Enterprise Platform에 대한 간략한 개요
- 리포지토리를 만드는 방법
- 리포지토리에 파일 추가
- 리포지토리를 검색하는 방법
- gist 및 wiki 소개
GitHub
GitHub 플랫폼을 자세히 살펴보기 전에 빌드된 내용인 Git을 이해하는 것이 중요합니다.
Git 은 개발자가 변경 내용을 추적하고, 코드에서 공동 작업하고, 시간이 지남에 따라 수정 버전을 관리할 수 있는 분산 버전 제어 시스템입니다. GitHub는 공동 작업 도구, 자동화 기능 및 사용자에게 친숙한 웹 인터페이스를 추가하여 Git을 기반으로 합니다. 커밋, 분기 및 병합과 같은 Git 기본 사항을 이해하면 GitHub를 보다 효과적으로 사용하는 데 도움이 됩니다.
GitHub 는 분산 버전 제어 시스템인 Git을 핵심으로 사용하는 클라우드 기반 플랫폼입니다. GitHub 플랫폼은 프로젝트에서 협업 프로세스를 간소화하고 개발자와 사용자의 협업을 허용하는 웹 사이트, 명령줄 도구 및 전체 흐름을 제공합니다.
앞에서 배운 것처럼 GitHub에서는 보안 소프트웨어를 빌드, 크기 조정 및 제공하는 AI 기반 개발자 플랫폼을 제공합니다. GitHub Enterprise 플랫폼, AI, 공동 작업, 생산성, 보안 및 규모의 핵심 요소를 각각 분석해 보겠습니다.
AI (인공지능)
생성 AI는 소프트웨어 개발을 크게 변화시키고 있습니다. GitHub Enterprise 플랫폼은 AI 기반 끌어오기 요청 및 문제, 코필로트, 코필로트 채팅 및 코필로트 에이전트를 통한 생산성, 보안을 개선하기 위한 더 빠른 피드백을 제공하여 보안을 통해 협업을 향상시킵니다.
협업
GitHub가 수행하는 모든 작업의 중심에는 협업이 있습니다. GitHub는 팀이 효율적으로 협력하여 지연을 줄이고 워크플로를 간소화하는 데 도움이 되는 도구를 제공합니다.
리포지토리, 문제, 끌어오기 요청 및 기타 도구는 역할 간의 더 빠른 공동 작업을 지원하고 승인 주기를 단축하며 배달 속도를 향상시키는 데 도움이 됩니다.
생산성
GitHub Enterprise Platform에서 제공하는 자동화를 통해 생산성이 향상됩니다. 개발 프로세스에 직접 통합된 기본 제공 CI/CD(지속적인 통합 및 지속적인 업데이트) 도구를 사용하면 사용자가 반복적인 작업을 자동화하고 일상적인 작업을 가속화할 수 있습니다. 이를 통해 개발자는 코딩 및 문제 해결에 더 집중할 수 있습니다.
보안
GitHub는 처음부터 모든 단계에서 개발 프로세스에 직접 보안을 통합합니다. GitHub Enterprise에는 위험을 최소화하기 위한 CodeQL, 비밀 검사, Dependabot 및 보안 개요 와 같은 자사 네이티브 기능이 포함되어 있습니다. 코드는 비공개로 유지되지만 통합 보안 검사의 이점을 누릴 수 있습니다.
GitHub는 엔터프라이즈급 보안 및 규정 준수에 계속 투자하고 있습니다. 높은 규제 산업의 Microsoft 및 조직에서 신뢰하는 GitHub는 글로벌 규정 준수 표준을 준수하므로 대규모로 안전한 개발을 위한 신뢰할 수 있는 선택입니다.
규모
GitHub는 1억 명이 넘는 개발자, 4억 2천만 리포지토리 및 수많은 배포의 실시간 데이터를 사용하여 동종 최대 규모의 개발자 커뮤니티입니다. GitHub는 제품을 지속적으로 학습하고 발전합니다. 대규모 사용자 기반은 개발자가 필요로 하는 사항에 대한 다양한 관점을 제공하여 이러한 요구를 충족하기 위해 지속적인 혁신을 추진합니다. 동시에 GitHub는 확장 가능한 플랫폼으로, 전 세계의 오픈 소스 개발자가 GitHub를 뛰어난 기능으로 만들고 향상시킵니다.
그 결과 전 세계 어느 기업도 따라올 수 없는 놀라운 규모를 갖추게 되었습니다. 이 대규모 개발자 기반의 인사이트를 통해 GitHub는 플랫폼을 지속적으로 발전시킬 수 있습니다.
기본적으로 GitHub Enterprise 플랫폼은 개발자 환경에 중점을 둡니다. 통합 개발자 환경에서 생산성, 보안 및 확장성을 지원하는 협업 도구, 자동화 및 AI 기반 기능을 제공합니다.
이제 GitHub의 근간인 리포지토리에 대해 알아보겠습니다.
리포지토리 소개
먼저 다음 사항을 검토해 보겠습니다.
- 리포지토리란?
- 리포지토리를 만드는 방법
- 리포지토리에 파일 추가
- 리포지토리를 검색하는 방법
- gist, wiki 및 GitHub 페이지 소개
리포지토리란?
리포지토리에는 모든 프로젝트 파일과 각 파일의 수정 기록이 포함됩니다. 사용자와 공동 작업하는 데 도움이 되는 필수 요소 중 하나입니다. 리포지토리를 사용하여 작업을 관리하고, 변경 내용을 추적하고, 수정 기록을 저장하고, 다른 사용자와 작업할 수 있습니다. 더 자세히 알아보기 전에 먼저 리포지토리를 만드는 방법을 살펴보겠습니다.
리포지토리를 만드는 방법
개인 계정 또는 자신이 충분한 권한을 가진 조직에 새 리포지토리를 만들 수 있습니다.
github.com 리포지토리를 만드는 방법을 살펴보겠습니다.
페이지의 오른쪽 위 모서리에서 드롭다운 메뉴를 사용하고 새 리포지토리를 선택합니다.
소유자 드롭다운 메뉴를 사용하여 리포지토리를 소유하려는 계정을 선택합니다.
리포지토리의 이름과 설명(선택 사항)을 입력합니다.
리포지토리 표시 여부를 선택합니다.
공용 리포지토리 는 인터넷의 모든 사용자가 액세스할 수 있습니다.
프라이빗 리포지토리 는 사용자, 명시적으로 액세스를 공유하는 사용자 및 조직 리포지토리의 경우 특정 조직 구성원만 액세스할 수 있습니다.
리포지토리 만들기를 선택하신 것을 축하드립니다! 이제 리포지토리가 만들어졌습니다.
리포지토리를 복제하는 방법
리포지토리를 복제하면 컴퓨터에 리포지토리의 로컬 복사본을 만들 수 있습니다. 이는 로컬로 변경하고 원격 리포지토리에 다시 동기화하는 데 유용합니다.
GitHub.com 복제하려는 리포지토리의 기본 페이지로 이동합니다.
파일 목록 위에서 코드 단추를 클릭합니다.
HTTPS, SSH 또는 GitHub CLI 옵션을 사용하여 리포지토리의 URL을 복사합니다.
터미널을 열고 리포지토리를 복제할 디렉터리로 이동합니다.
복사한 URL로 바꿔
<repository-url>서 다음 명령을 실행합니다.git clone <repository-url>복제 프로세스가 완료되면 리포지토리 폴더로 이동합니다.
cd <repository-name>
축하합니다! 이제 리포지토리의 로컬 복사본이 있습니다.
다음으로, 리포지토리에 파일을 추가하는 방법을 검토해 보겠습니다.
리포지토리에 파일을 추가하는 방법
GitHub의 파일은 여러 가지 용도로 사용할 수 있지만 파일의 주된 목적은 프로젝트에 대한 데이터와 정보를 저장하는 것입니다. 리포지토리에 파일을 추가하려면 적어도 쓰기 액세스 권한이 필요합니다.
그럼, 리포지토리에 파일을 추가하는 방법을 살펴보겠습니다.
GitHub.com에서 리포지토리의 기본 페이지로 이동합니다.
리포지토리에서 파일을 만들 폴더로 이동한 뒤, 새 파일 만들기 링크를 선택하거나 기존 파일 업로드를 통해 파일을 생성하세요.
추가되면 파일 목록 위에서 파일 추가 드롭다운 메뉴를 선택합니다. 그런 다음 , 새 파일 만들기를 선택합니다.
파일 이름 필드에 파일 이름 및 확장명을 입력합니다. 하위 디렉터리를 만들려면 디렉터리 구분 기호 /를 입력합니다.
파일 내용 텍스트 상자에 파일 의 콘텐츠를 입력합니다.
새 콘텐츠를 검토하려면 파일 콘텐츠 위에서 미리 보기를 선택합니다.
변경 사항 커밋을 선택합니다.
메시지 커밋 필드에 파일에 대한 변경 내용을 설명하는 짧고 의미 있는 커밋 메시지를 입력합니다. 커밋 메시지에서 둘 이상의 작성자가 커밋의 특성을 지정할 수 있습니다.
GitHub.com 계정에 연결된 전자 메일 주소가 두 개 이상 있는 경우 전자 메일 주소 드롭다운 메뉴를 선택합니다. 그런 다음 Git 작성자 이메일 주소로 사용할 이메일 주소를 선택합니다. 이 드롭다운 메뉴에는 확인된 이메일 주소만 표시됩니다. 전자 메일 주소 개인 정보를 설정한 경우, [username]@users.noreply.github.com이(가) 기본 커밋 작성자 전자 메일 주소로 설정됩니다.
메시지 커밋 필드 아래에서 현재 분기 또는 새 분기에 커밋을 추가할지 여부를 결정합니다. 현재 분기가 기본 분기인 경우 커밋에 대한 새 분기를 만들도록 선택한 다음 끌어오기 요청을 만들어야 합니다.
변경 내용 커밋 또는 변경 내용 제안 선택
이제 리포지토리에 새 파일을 만들었습니다. 또한 새 분기를 만들고 커밋했습니다.
다음 단원에서 분기 및 커밋을 검토하기 전에 리포지토리와 유사하기 때문에 gist, wiki 및 GitHub Pages를 빠르게 검토해 보겠습니다’.
Gists란?
Gists는 사용자가 가볍고 편리한 방법으로 코드 조각, 메모 또는 기타 작은 정보를 공유할 수 있는 GitHub의 기능입니다. 기본적으로 미니 Git 리포지토리이므로 전체 리포지토리처럼 포크, 복제 및 버전 제어할 수 있습니다. Gists는 전체 리포지토리를 만들 필요 없이 빠른 솔루션, 구성 파일 또는 예제를 공유하는 데 특히 유용합니다.
Gists의 주요 기능:
공개 및 비밀 Gists:
- 공용 Gists: 모든 사용자가 볼 수 있으며 GitHub의 검색 기능을 통해 검색할 수 있습니다. 더 넓은 커뮤니티에서 사용할 수 있도록 하려는 코드 조각 또는 솔루션을 공유하는 데 적합합니다.
- 비밀 Gists: 이들은 검색 하거나 공개적으로 나열 되지 않습니다., 하지만 그들은 완전히 개인. URL을 가진 모든 사용자가 액세스할 수 있습니다. 공동 작업자 또는 친구와 같이 제한된 대상과 코드를 공유하는 데 유용합니다.
버전 제어:
- 요점에 대한 모든 변경 내용은 추적되므로 편집 기록을 볼 수 있습니다. 이렇게 하면 이전 버전으로 쉽게 되돌리거나 시간이 지남에 따라 코드 조각이 어떻게 진화했는지 확인할 수 있습니다.
포크 및 복제:
- 리포지토리와 마찬가지로 gists를 포크하고 복제할 수 있습니다. 이렇게 하면 다른 사용자가 작업을 기반으로 구축하거나 필요에 맞게 조정할 수 있습니다.
포함:
- Gists는 웹 사이트 또는 블로그에 포함할 수 있으므로 자습서 또는 설명서에서 코드 예제를 공유하는 데 유용한 도구입니다.
Markdown 지원:
- Gists는 Markdown 서식을 지원합니다. 즉, 코드와 함께 서식 있는 텍스트, 제목, 링크 및 이미지를 포함할 수 있습니다. 이 기능은 코드 조각에 컨텍스트 또는 설명을 추가하는 데 특히 유용합니다.
Collaboration:
- gists는 일반적으로 개별 코드 조각에 사용되지만 여러 사용자가 공유하고 공동 작업할 수도 있습니다. gists에 대한 포크 및 주석 처리는 간단한 협업을 가능하게 합니다.
Gists의 사용 사례:
- 빠른 코드 예제 또는 솔루션 공유
- 개인용으로 구성 파일 또는 스크립트 저장
- 일반적으로 사용되는 코드 패턴에 대한 템플릿 만들기
- 오류 로그 공유 또는 다른 사용자와 디버깅
- 블로그, 포럼 또는 설명서에 코드 조각 포함
[! 중요]
스크립트 또는 구성 파일에서도 gists를 사용하여 암호, 비밀 또는 API 키와 같은 중요한 또는 기밀 데이터를 저장하지 마세요.
Gists는 완전히 비공개가 아닙니다 : 심지어 비밀 gists는 링크를 가진 사람이 액세스 할 수 있습니다. 공유하기 전에 항상 콘텐츠를 신중하게 검토하세요.
Gists의 제한 사항:
- Gists는 비밀로 표시하더라도 완전히 사적인 것은 아닙니다. URL을 가진 사람은 누구나 액세스할 수 있으므로 중요한 정보나 기밀 정보에는 사용하지 않아야 합니다.
- 작은 코드 조각 또는 단일 파일에 가장 적합합니다. 대규모 프로젝트 또는 다중 파일 구조의 경우 전체 리포지토리가 더 적합합니다.
gists를 만들고 관리하는 방법에 대한 자세한 내용은 이 모듈의 리소스 섹션에서 GitHub 설명서를 참조하거나 GitHub Gists 설명서를 참조하세요.
Gists 포크 및 복제
계정에서 다른 사람의 요점 복사본을 만들려면 요지를 포크할 수 있습니다.
- 포크하려는 요점으로 이동합니다.
- 요지 페이지 오른쪽 위에서 포크 를 선택합니다.
시스트를 로컬로 복제하려면 다음을 수행합니다.
git clone https://gist.github.com/your-gist-id.git
gists에 대한 자세한 내용은 이 모듈의 끝에 있는 리소스 섹션의 연결된 문서인 Gists 만들기를 참조하세요.
wiki란?
GitHub.com의 모든 리포지토리에는 wiki라는 호스팅 설명서 섹션이 제공됩니다. 리포지토리의 wiki를 사용하여 프로젝트 사용 방법, 프로젝트를 설계한 방법 또는 핵심 원칙 등 프로젝트에 대한 긴 형식의 콘텐츠를 공유할 수 있습니다. 추가 정보 파일은 프로젝트에서 수행할 수 있는 작업을 빠르게 알려 주지만 wiki를 사용하여 추가 설명서를 제공할 수 있습니다.
리포지토리가 비공개인 경우 리포지토리에 대한 최소한 읽기 권한이 있는 사용자만 wiki에 액세스할 수 있습니다.
위키 페이지 만들기, 편집 및 삭제
GitHub wiki를 사용하여 프로젝트에 대한 설명서를 만들고 관리할 수 있습니다.
위키 페이지를 만들려면 다음을 수행합니다.
- 리포지토리로 이동합니다.
- Wiki 탭을 선택합니다.
- 페이지가 없는 경우 첫 번째 페이지 만들기를 선택하거나 새 페이지를 선택하여 페이지를 추가합니다.
- 제목과 콘텐츠를 입력한 다음 페이지 저장을 선택합니다.
위키 페이지를 편집하려면 다음을 수행합니다.
- 편집할 위키 페이지로 이동합니다.
- 오른쪽 위에서 편집 을 선택합니다.
- 변경하고 페이지 저장을 선택합니다.
위키 페이지를 삭제하려면 다음을 수행합니다.
- 위키 페이지를 삭제하려면 Git을 사용해야 합니다. 위키 리포지토리를 복제하고, 파일을 제거하고, 변경 사항을 푸시합니다.
GitHub Docs - 위키 페이지 추가 또는 편집에서 위키 관리에 대해 자세히 알아봅니다.
기능 미리 보기란?
기능 미리 보기를 사용하면 GitHub에서 실험적 기능을 공식적으로 출시하기 전에 사용해 볼 수 있습니다. 이러한 미리 보기는 새로운 기능에 대한 초기 액세스를 제공하고 최종 제품을 형성하는 데 도움이 되는 피드백을 제공할 수 있게 해줍니다.
기능 미리 보기를 사용하거나 사용하지 않도록 설정하려면 다음을 수행합니다.
- GitHub.com 오른쪽 위 모서리에서 프로필 사진을 선택하여 GitHub 계정으로 이동합니다.
- 드롭다운 메뉴에서 기능 미리 보기를 선택합니다.
- 사용 가능한 미리 보기 목록을 찾아보고 시도하려는 기능을 전환합니다.
기능 미리 보기는 곡선보다 앞서 나가고 GitHub 환경을 향상시킬 수 있는 새로운 도구를 탐색하는 좋은 방법입니다.
팁 (조언)
GitHub는 사용자가 탐색할 수 있는 새로운 실험적 기능을 자주 추가하므로 기능 검토를 주시하여 새로운 도구와 향상된 기능을 검색합니다.