GitHub 흐름의 구성 요소

완료됨

이 단원에서는 GitHub 흐름의 다음 구성 요소를 검토합니다.

  • 분기
  • 커밋
  • 끌어오기 요청
  • GitHub 흐름

분기란?

마지막 섹션에서는 리포지토리에 새 파일과 새 분기를 만들었습니다.

분기는 작업 중인 전체 프로젝트에 영향을 주지 않고 변경할 수 있는 위치이기 때문에 GitHub 환경의 필수적인 부분입니다.

분기는 새로운 기능 또는 수정 사항을 실험할 수 있는 안전한 장소입니다. 실수를 하면 변경 내용을 되돌리거나 더 많은 변경 내용을 푸시하여 실수를 해결할 수 있습니다. 분기를 병합할 때까지 기본 분기에서 변경 내용이 업데이트되지 않습니다.

참고 항목

또는 터미널에서 git을 사용하여 새 분기를 만들고 체크 아웃할 수 있습니다. 명령은 git checkout -b newBranchName입니다.

커밋이란?

이전 단원에서는 커밋을 푸시하여 리포지토리에 새 파일을 추가했습니다. 커밋이 무엇인지 간략하게 살펴보겠습니다.

커밋은 분기에서 하나 이상의 파일을 변경하는 행위입니다. 커밋을 만들 때마다 고유 ID가 시간 및 기여자와 함께 할당되고 추적됩니다. 커밋은 파일 또는 연결된 항목(예: 문제 또는 끌어오기 요청)의 기록을 검토하는 모든 사용자에게 명확한 감사 내역을 제공합니다.

기본 분기에 대한 GitHub 커밋 목록 스크린샷.

git 리포지토리 내에서 파일은 버전 제어 프로세스를 거치면서 여러 유효한 상태로 존재할 수 있습니다. Git 리포지토리의 파일에 대한 기본 상태는 추적되지 않음추적됨입니다.

추적되지 않음: 아직 Git 리포지토리에 속하지 않은 파일의 초기 상태입니다. Git은 해당 존재를 인식하지 못합니다.

추적됨: 추적된 파일은 Git에서 적극적으로 모니터링하는 파일입니다. 다음 하위 상태 중 하나일 수 있습니다.

  • 수정되지 않음: 파일이 추적되지만 마지막 커밋 이후 수정되지 않았습니다.
  • 수정됨: 마지막 커밋 이후 파일이 변경되었지만 다음 커밋을 위해 이러한 변경 내용이 아직 준비되지 않았습니다.
  • 스테이징됨: 파일이 수정되었으며 변경 내용이 준비 영역(인덱스라고도 함)에 추가되었습니다. 이러한 변경 내용을 커밋할 준비가 된 것입니다.
  • 커밋됨: 파일이 리포지토리의 데이터베이스에 있습니다. 파일의 커밋된 최신 버전을 나타냅니다.

이러한 상태와 하위 상태는 팀과 협력하여 프로젝트 프로세스에서 각 커밋이 어디에 있는지 파악하는 데 중요합니다. 이제 끌어오기 요청으로 이동하겠습니다.

끌어오기 요청이란 무엇일까요?

끌어오기 요청은 특정 분기의 커밋을 다른 분기에 병합할 수 있음을 알리는 데 사용하는 메커니즘입니다.

끌어오기 요청을 제출하는 팀 구성원은 1명 이상의 검토자에게 코드를 확인하고 병합을 승인하도록 요청합니다. 이러한 검토자는 변경 사항에 관한 설명을 달고, 자신의 변경 사항을 추가하거나, 끌어오기 요청을 사용하여 추가 논의를 진행할 수 있습니다.

변경 내용이 승인되면(필요한 경우) 끌어오기 요청의 원본 분기(비교 분기)가 기본 분기에 병합됩니다.

끌어오기 요청의 스크린샷과 끌어오기 요청 내의 주석입니다.

이제 모든 재료를 알게 되었으므로 GitHub 흐름을 검토해 보겠습니다.

GitHub 흐름

새 분기, 커밋, 끌어오기 요청 및 변경 내용을 해당 순서대로 기본에 다시 병합하는 1차원 형식의 GitHub 흐름을 시각적 표현으로 보여 주는 스크린샷.

GitHub 흐름은 안전한 실험을 허용하는 간단한 워크플로로 정의할 수 있습니다. 분기, 끌어오기 요청 및 병합을 사용하여 팀과의 새로운 아이디어 및 공동 작업을 테스트할 수 있습니다.

이제 GitHub의 기본 사항을 알게 되었으므로 GitHub 흐름 및 해당 구성 요소를 안내할 수 있습니다.

  1. 먼저 분기를 만들어 작성한 변경 내용, 기능 및 수정 사항이 기본 분기에 영향을 주지 않도록 합니다.
  2. 다음으로 변경을 수행합니다. 기본 분기에 병합하기 전에 기능 분기에 변경 내용을 배포하는 것이 좋습니다. 이렇게 하면 프로덕션 환경에서 변경 내용이 유효합니다.
  3. 이제 공동 작업자에게 피드백을 요청하는 끌어오기 요청을 만듭니다. 끌어오기 요청 검토는 끌어오기 요청을 병합하기 전에 일부 리포지토리에 승인 검토가 필요한 경우에 매우 중요합니다.
  4. 그런 다음 공동 작업자의 피드백을 검토하고 구현합니다.
  5. 변경 사항이 마음에 든다면 끌어오기 요청을 승인하고 기본 분기에 병합할 차례입니다.
  6. 마지막으로 분기를 삭제할 수 있습니다. 분기를 삭제하면 분기에 대한 작업이 완료되었음을 알리고 사용자 또는 다른 사용자가 실수로 이전 분기를 사용하는 것을 방지할 수 있습니다.

이제 GitHub 흐름 주기를 모두 마쳤습니다.

다음 섹션으로 이동하여 문제와 토론의 차이점을 살펴보겠습니다.