kimgusxo 님의 블로그
4. 깃허브(Github)의 기본 기능 및 활용 본문
1. 깃허브(Github)란?
- 깃허브는 깃(Git)을 기반으로 한 원격 저장소 호스팅 서비스이다.
- 웹 기반 인터페이스를 통해 레포지토리를 관리하고 팀원들과 협업할 수 있는 다양한 기능(Pull Request, 코드 리뷰, 이슈 관리 등)을 제공한다.
1-1. 깃허브 주요 기능
- 레포지토리 생성 및 관리: 프로젝트 파일과 변경 이력을 웹 상에서 관리한다.
- 포크(Fork): 다른 사용자의 레포지토리를 내 계정으로 복제하여 독자적으로 작업 가능
- 풀 리퀘스트(Pull Request): 기능 브랜치의 변경사항을 메인 브랜치에 병합하기 전, 팀원 간 리뷰 및 토론 진행
- 이슈 관리: 버그, 기능 개선 요청 등을 기록하고 추적한다.
- 프로젝트 보드: 칸반 보드 등으로 작업 진행 상황을 시각화한다.
2. 로컬 저장소와 깃허브 연동
2-1. 원격 레포지토리 생성 및 연결
- 깃허브 계정 생성 및 로그인: 깃허브 홈페이지(https://github.com/)에 접속하여 계정을 생성하고 로그인한다.
- 새 레포지토리 생성: 우측 상단의 New Repository 버튼을 눌러 레포지토리 이름, 설명, 공개/비공개 여부 등을 설정한 후 Create Repository를 통해 새 레포지토리를 생성한다.
- 로컬 저장소에 원격 저장소 연결: Code 버튼을 눌러 저장소 주소를 복사하고 명령어를 통해 원격 저장소를 연결한다.
git remote add origin https://github.com/YourUsername/YourRepository.git
- 원격 저장소를 확인하려면
git remote -v
2-2. 원격 저장소와 동기화하기
- 원격 저장소에 파일이 있는 경우 로컬에 해당 파일을 내려받아야 한다.
- 원격 저장소(origin)의 main 브랜치에 있는 최신 파일과 변경 사항을 로컬 저장소에 병합한다.
- 풀(Pull) 명령어는 git fetch(원격의 변경사항을 가져오기)와 git merge(로컬 브랜치와 병합)을 한번에 수행한다.
git pull origin main
2-3. 로컬 작업 결과 푸쉬하기
- 커밋 후 푸쉬: 로컬에서 작업한 내용을 원격 저장소에 업로드한다.
- 기본 브랜치가 main인 경우, 초기 푸쉬 시 -u 옵션으로 추적 정보를 설정한다.
git push -u origin main
- 변경 사항이 있을 때마다 푸쉬: 작업을 진행한 후 커밋하고 명령어를 실행하면 최신 상태가 원격 저장소에 반영된다.
git push
3. 깃허브의 협업 기능 활용
3-1. 포크(Fork)
- 다른 사용자의 레포지토리를 내 계정으로 복제하여 독자적으로 작업 할 수 있는 기능이다.
- 오픈 소스 기여 시 주로 사용되며 포크한 레포지토리는 원본과 독립적으로 관리된다.
3-2. 클론(Clone)
- 포크 또는 기존 레포지토리를 내 로컬 환경으로 복제하여 작업할 때 사용한다.
git clone https://github.com/YourUsername/YourRepository.git
3-3. 풀 리퀘스트(Pull Request)
- 기능 브랜치에서 작업한 내용을 메인 브랜치에 병합하기 전 코드 리뷰와 토론을 진행하기 위한 절차이다.
- 풀 리퀘스트 절차
- 1. 기능 브랜치에서 작업 완료 후 원격 저장소에 푸쉬한다.
- 2. 깃허브 웹사이트에서 해당 레포지토리의 Pull Request 탭을 클릭하고 새로운 PR을 생성한다.
- 3. PR 제목과 설명을 작성하고 팀원들의 리뷰를 요청한다.
- 4. 리뷰어들이 코드를 검토한 후 승인되면 PR을 병합한다.
3-4. 이슈(Issue) 관리
- 버그, 기능 요청, 질문 등을 이슈로 등록하여 팀 내 공유 및 관리 할 수 있다.
- 라벨(Label): 이슈 유형, 우선순위 등을 구분한다.
- 마일스톤(Milestone): 특정 목표나 릴리즈 버전과 연계한다.
- 담당자(Assignee): 책임자를 지정하여 작업 분담을 명확히 한다.
4. 협업 시 권장 사항
- 정기적인 동기화: 로컬 작업 후 주기적으로 원격 저장소와 동기화(Push/Pull)하여 최신 상태를 유지한다.
- 의미 있는 커밋 메세지 작성: 각 커밋에는 "무엇을, 왜" 변경했는지를 명확히 기록하여 협업 시 히스토리를 쉽게 이해할 수 있도록 한다.
- 브랜치 관리: 작업 단위별로 브랜치를 분리하여 관리하고 작업 완료 후 Pull Request를 통해 검토 후 병합하는 프로세스를 유지한다.
- 문서화 및 README 관리: 프로젝트의 사용법, 설치 방법, 주요 변경사항 등을 README와 Wiki에 정리하여 팀원 및 외부 기여자가 쉽게 이해할 수 있도록 한다.
- CI/CD 도구 연동: Github Action이나 다른 CI/CD 도구를 연동하면 자동화된 빌드, 테스트, 배포 파이프라인을 구축할 수 있어 협업 효율이 높아진다.
'Git' 카테고리의 다른 글
6. 깃 기초 활용 마무리 (0) | 2025.04.08 |
---|---|
5. 깃과 깃허브를 활용한 협업 및 프로젝트 관리 (0) | 2025.03.29 |
3. 깃 브랜치, 병합 및 협업 전략 (0) | 2025.03.26 |
2. 깃 설치 및 환경 설정, 기본 명령어 (0) | 2025.03.05 |
1. 깃(Git)의 기본 개념과 역사 (0) | 2025.02.28 |