Skip to main content

Hello World

이 Hello World 연습에 따라 GitHub의 pull request 워크플로에 대해 알아봅니다.

소개

이 자습서에서는 리포지토리, 분기, 커밋 및 끌어오기 요청과 같은 GitHub 필수 사항을 설명합니다. 사용자 고유의 Hello World 리포지토리를 만들고 인기 있는 코드 작성 및 리뷰 방식인 GitHub의 끌어오기 요청 워크플로를 알아봅니다.

이 빠른 시작 가이드에서는 다음을 수행합니다.

  • 리포지토리를 만들고 사용합니다.
  • 새 분기를 시작하고 관리합니다.
  • 파일을 변경하고 GitHub에 커밋으로 푸시합니다.
  • pull request를 열고 병합합니다.

필수 조건

  • GitHub 계정이 있어야 합니다. 자세한 내용은 “GitHub에서 계정 생성하기”을(를) 참조하세요.

  • 코딩하거나 명령줄을 사용하거나 Git(GitHub가 빌드된 버전 제어 소프트웨어)를 설치하는 방법을 알 필요가 없습니다.

1단계: 리포지토리 만들기

가장 먼저 할 일은 리포지토리를 만드는 것입니다. 리포지토리를 파일, 이미지, 비디오 또는 기타 폴더와 같은 관련 항목이 포함된 폴더로 생각할 수 있습니다. 리포지토리는 일반적으로 작업 중인 동일한 "프로젝트" 또는 사항에 속하는 항목을 그룹화합니다.

리포지토리에 README 파일, 프로젝트에 대한 정보가 포함된 파일이 있는 경우도 많습니다. 추가 정보 파일은 일반 텍스트 서식을 지정하기 위한 읽고 쓰기 쉬운 언어인 Markdown으로 작성됩니다. 다음 자습서인 "프로필 설정"에서 Markdown에 대해 자세히 알아봅니다.

GitHub를 사용하면 새 리포지토리를 만드는 동시에 README 파일을 추가할 수 있습니다. GitHub는 라이선스 파일과 같은 다른 일반적인 옵션도 제공하지만 지금 선택할 필요는 없습니다.

hello-world 리포지토리는 아이디어, 리소스를 저장하거나 다른 사용자와 내용을 공유하고 토론하는 장소가 될 수 있습니다.

  1. 임의 페이지의 오른쪽 위에 있는 을(를) 클릭한 다음, 신규 리포지토리를 클릭합니다.

    새 항목을 만드는 옵션을 보여 주는 GitHub 드롭다운 메뉴의 스크린샷. "새 리포지토리"라는 메뉴 항목이 진한 주황색 윤곽선으로 표시되어 있습니다.

  2. “Repository name(리포지토리 이름)” 상자에 hello-world을(를) 입력합니다.

  3. “설명” 상자에 짧은 설명을 입력합니다. 예를 들어, "이 리포지토리는 GitHub 흐름 연습용입니다."라고 입력합니다.

  4. 리포지토리가 Public(퍼블릭)인지 Private(프라이빗)인지 선택합니다.

  5. Add a README file(README 파일 추가)을 선택합니다.

  6. Create repository(리포지토리 만들기)를 클릭합니다.

2단계: 분기 만들기

분기하면 한 번에 다른 버전의 리포지토리를 사용할 수 있습니다.

기본적으로 리포지토리에는 최종 분기로 간주되는 main이라는 하나의 분기가 있습니다. 리포지토리의 main에서 추가 분기를 만들 수 있습니다.

분기는 코드의 기본 소스를 변경하지 않고 프로젝트에 새 기능을 추가하려는 경우에 유용합니다. 다른 분기에서 수행된 작업은 병합할 때까지 주 분기에 표시되지 않습니다. 이 내용은 이 가이드의 뒷부분에서 설명합니다. 분기를 사용하여 분기를 main으로 커밋하기 전에 실험하고 편집할 수 있습니다.

분기에서 main 분기를 만들 때 해당 시점의 main 복사본 또는 스냅샷을 만듭니다. 분기에서 작업하는 동안 다른 사람이 main 분기를 변경한 경우 해당 업데이트를 가져올 수 있습니다.

이 다이어그램은 다음을 보여줍니다:

  • main 분기
  • feature라는 새 분기
  • featuremain에 병합되기 전에 소요되는 여정

두 분기의 다이어그램. "기능" 분기는 "기본" 분기와 구분되고, "커밋 변경 내용", "끌어오기 요청 제출" 및 "제안된 변경 내용 논의" 단계를 거친 후 다시 기본으로 병합됩니다.

분기 만들기

  1. hello-world 리포지토리의 Code(코드) 탭을 클릭합니다.

  2. 파일 목록 위에서 기본 드롭다운 메뉴를 클릭합니다.

    리포지토리 페이지의 스크린샷 분기 아이콘과 "기본"이라는 레이블이 있는 드롭다운 메뉴가 주황색 윤곽선으로 강조 표시되어 있습니다.

  3. 텍스트 상자에 분기 이름 readme-edits를 입력합니다.

  4. Create branch: readme-edits from main(기본에서 분기 readme-edits 만들기)을 클릭합니다.

    리포지토리에 대한 분기 드롭다운의 스크린샷 "분기 만들기: '기본'의 추가 정보 편집"은 진한 주황색 윤곽선으로 표시됩니다.

이제 두 개의 분기인 mainreadme-edits가 있습니다. 지금은 둘이 정확히 같아 보입니다. 다음으로 새 readme-edits 분기에 변경 내용을 추가합니다.

3단계: 변경 내용 만들기 및 커밋

이전 단계에서 새 분기를 만들면 GitHub에서 main의 사본인 새 readme-edits 분기의 코드 페이지로 이동합니다.

리포지토리에서 파일을 변경하고 저장할 수 있습니다. GitHub에서 저장된 변경 내용을 커밋이라고 합니다. 각 커밋에는 특정 내용을 변경한 이유에 대한 설명인 관련 커밋 메시지가 있습니다. 커밋 메시지는 다른 기여자가 사용자가 수행한 작업과 이유를 이해할 수 있도록 변경 내용의 기록을 캡처합니다.

  1. 생성한 readme-edits 분기에서 README.md 파일을 클릭합니다.
  2. 아이콘을 클릭하여 파일을 편집합니다.
  3. 편집기에서 자신에 대한 내용을 간략하게 작성합니다.
  4. 변경 내용 커밋을 클릭합니다.
  5. Commit changes(커밋 변경 내용) 상자에서 변경 내용을 설명하는 커밋 메시지를 작성합니다.
  6. 변경 내용 커밋을 클릭합니다.

변경 내용은 readme-edits 분기의 README 파일에만 적용되므로 이제 이 분기에는 main과 다른 콘텐츠가 포함됩니다.

4단계: pull request 열기

main의 분기가 변경되었으므로 끌어오기 요청을 열 수 있습니다.

끌어오기 요청은 GitHub 협업의 핵심입니다. 끌어오기 요청을 열면 변경 내용을 제안하고 누군가가 기여를 검토해서 끌어온 다음 해당 분기에 병합하도록 요청합니다. 끌어오기 요청은 두 분기 콘텐츠의 diff 또는 차이점을 표시합니다. 변경 내용, 더하기 및 빼기 항목은 서로 다른 색으로 표시됩니다.

커밋하는 즉시 코드를 완료하기 전에 끌어오기 요청을 열고 토론을 시작할 수 있습니다.

이 단계에서는 자체 리포지토리에서 pull request를 연 다음 직접 병합합니다. 대규모 프로젝트에서 작업하기 전에 GitHub 흐름을 연습하기 좋은 방법입니다.

  1. hello-world 리포지토리의 Pull requests(끌어오기 요청) 탭을 클릭합니다.

  2. 새 끌어오기 요청을 클릭합니다.

  3. Example Comparisons(예제 비교) 상자에서 생성한 분기 readme-edits를 선택하여 main(원본)과 비교합니다.

  4. 비교 페이지의 diff에서 변경 내용을 살펴보고 제출하려는 내용인지 확인합니다.

    README.md 파일의 차이 스크린샷 3개의 빨간색 줄에는 제거 중인 텍스트가 나열되고, 3개의 녹색 줄에는 추가 중인 텍스트가 나열됩니다.

  5. [끌어오기 요청 만들기] 를 클릭합니다.

  6. 끌어오기 요청에 제목을 지정하고 변경 내용에 대한 간략한 설명을 작성합니다. 이모지와 끌어서 놓기 이미지 및 gif를 포함할 수 있습니다.

  7. 끌어오기 요청 만들기를 클릭합니다.

끌어오기 요청 검토

다른 사용자와 공동 작업을 시작할 때 검토를 요청할 시간입니다. 이를 통해 공동 작업자가 변경 내용을 main 분기에 병합하기 전에 pull request에 대해 주석을 달거나 변경 내용을 제안할 수 있습니다.

이 자습서에서는 pull request 검토를 다루지 않지만 자세히 알아보려면 "끌어오기 요청 검토 정보"을(를) 참조하세요. 또는 GitHub Skills "pull request 검토" 과정을 시도해 보십시오.

5단계: pull request 병합

이 마지막 단계에서는 readme-edits 분기를 main 분기에 병합합니다. 끌어오기 요청을 병합하면 readme-edits 분기 관련 변경 사항이 main에 통합됩니다.

경우에 따라 끌어오기 요청은 main의 기존 코드로 충돌하는 코드를 변경할 수 있습니다. 충돌이 있는 경우 GitHub는 충돌하는 코드에 대해 경고하고 충돌이 해결될 때까지 병합을 방지합니다. 충돌을 해결하는 커밋을 만들거나 끌어오기 요청에서 주석을 사용하여 팀 구성원과 충돌을 논의할 수 있습니다.

이 연습에서는 충돌이 없으므로 분기를 주 분기에 병합할 준비가 된 것입니다.

  1. 끌어오기 요청 아래쪽에서 [끌어오기 요청 병합] 을 클릭하여 변경 내용을 병합합니다main.
  2. Confirm merge(병합 확인)를 클릭합니다. 요청이 성공적으로 병합되고 요청이 종결되었다는 메시지가 표시됩니다.
  3. Delete branch(분기 삭제)를 클릭합니다. 끌어오기 요청이 병합되고 변경 내용이 main에 있으므로 readme-edits 분기를 안전하게 삭제할 수 있습니다. 프로젝트를 추가로 변경하려면 항상 새 분기를 만들고 이 프로세스를 반복하면 됩니다.
  4. hello-world 리포지토리의 코드 탭을 다시 클릭하여 main에서 게시된 변경 내용을 확인합니다.

결론

이 자습서를 완료하여 프로젝트를 만들고 GitHub에서 끌어오기 요청을 하는 방법을 배웠습니다.

그 일환으로 다음 방법을 배웠습니다.

  • 리포지토리를 만듭니다.
  • 새 분기를 시작하고 관리합니다.
  • 파일을 변경하고 GitHub에 해당 변경 내용을 커밋합니다.
  • pull request를 열고 병합합니다.

다음 단계

  • GitHub 프로필을 살펴보면 기여도 그래프에 반영된 작업이 표시됩니다.
  • 이 자습서에서 학습한 기술을 다시 연습하려면 GitHub Skills "GitHub 소개" 과정을 시도해 보세요.
  • 다음 자습서인 "프로필 설정"에서는 프로필을 개인화하는 방법을 알아보고 GitHub에 쓰기 위한 몇 가지 기본 Markdown 구문에 대해서도 알아봅니다.

추가 참고 자료