git checkout -b feature/new-feature
Git을 사용해 실제로 프로젝트에서 작업하는 방법을 단계별로 안내드릴게요. 여기에서는 브랜치를 생성하고, 작업을 한 후, Pull Request를 생성하여 병합하는 전형적인 협업 워크플로를 설명하겠습니다.
1. Git 기본 설정
처음 Git을 사용할 때, 사용자 정보를 설정해야 합니다.
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
2. 저장소(Repository) 클론
먼저, 원격 저장소(GitHub 등)에 있는 프로젝트를 로컬로 복제해야 합니다.
git clone https://github.com/username/repository-name.git
cd repository-name
이 명령어로 원격 저장소를 클론하면, 프로젝트 폴더가 로컬에 생성됩니다.
3. 새 브랜치 생성 및 이동
기본적으로 develop이나 main 브랜치에서 작업하지 않고, 별도의 브랜치를 만들어 작업하는 것이 권장됩니다.
git checkout -b feature/new-feature
feature/new-feature: 새로운 기능을 추가하기 위한 브랜치 이름입니다.
(필요에 따라 다르게 설정)이 명령어는 새로운 브랜치를 만들고,
해당 브랜치로 이동합니다.
4. 코드 작업 후 변경사항 스테이징
코드 변경을 한 후, 변경된 파일을 확인하고 스테이징합니다.
변경된 파일 확인:
git status
git add .
git add .은 현재 디렉토리의 모든 변경 파일을 스테이징합니다.
특정 파일만 추가하고 싶다면 git add filename을 사용할 수 있습니다.
5. 커밋(commit)스테이징된 파일을 커밋하여 변경 사항을 저장소에 기록합니다.
git commit -m "Add new feature implementation"
-m "메시지": 커밋 메시지를 간결하게 작성합니다. (변경 내용을 설명)
6. 원격 저장소에 푸시(push)로컬에서 작업한 내용을 원격 저장소에 푸시하여 팀원들과 공유합니다.
git push origin feature/new-feature
origin: 원격 저장소 이름 (보통 기본값으로 origin이 사용됨)
feature/new-feature: 푸시할 브랜치 이름
7. Pull Request 생성
원격 저장소(GitHub, GitLab 등)에 푸시가 완료되면, GitHub에서 해당 브랜치에 대한 Pull Request를 생성합니다.
- GitHub에 접속하여 프로젝트 페이지로 이동합니다.
- "Pull Requests" 탭에서 "New Pull Request"를 클릭합니다.
- feature/new-feature 브랜치를 develop 또는 main 브랜치로 병합하는 Pull Request를 생성합니다.
- 리뷰어와 설명을 추가하고, 생성 버튼을 클릭합니다.
8. Pull Request 병합
팀원들이 리뷰를 완료하고 승인이 되면, develop 또는 main 브랜치에 병합(Merge)합니다.
- Pull Request 페이지에서 "Merge Pull Request" 버튼을 클릭합니다.
- 병합이 완료되면, 로컬 저장소에도 최신 변경사항을 반영하기 위해 pull을 사용합니다.
9. 병합 후 로컬에서 최신 상태로 유지
develop이나 main 브랜치에서 병합된 최신 코드를 로컬로 가져옵니다.
git checkout develop # 먼저 develop 브랜치로 전환
git pull origin develop # 최신 코드 가져오기
10. 브랜치 삭제
병합 후 작업이 완료된 브랜치는 삭제하는 것이 좋습니다. 원격 저장소와 로컬 모두에서 삭제할 수 있습니다.
원격 브랜치 삭제:
git push origin --delete feature/new-feature
로컬 브랜치 삭제:
git branch -d feature/new-feature
요약
- 원격 저장소에서 프로젝트 클론
- 새로운 브랜치 생성 후 작업
- 변경 사항을 커밋하고 푸시
- GitHub에서 Pull Request 생성 및 코드 리뷰
- 코드 병합 후 로컬 저장소 최신화
- 작업이 완료된 브랜치는 삭제
이 과정을 반복하면서 팀원들과 원활하게 협업할 수 있습니다. Pull Request는 팀원들의 코드 리뷰를 통해 품질을 유지하면서 프로젝트를 발전시킬 수 있는 중요한 과정입니다.
댓글