728x90
반응형
소프트웨어 개발에서는 여러 버전을 관리하면서 새로운 기능을 추가하는 것이 중요합니다. 이 포스팅에서는 Git을 활용해 이전 버전을 보존하고, 새로운 기능을 추가한 v1.01을 개발하면서 마스터(master) 브랜치에 최신 버전을 유지하는 방법을 설명합니다.
1. 현재 버전(v1.00) 보존: 태그 사용하기
먼저, 현재 master 브랜치에 있는 코드를 v1.00으로 태그를 남겨 보존합니다.
1.1 태그 생성 및 푸시
git checkout master # master 브랜치로 이동
git tag -a v1.00 -m "Version 1.00: Basic RockPaperScissors Game"
git push origin v1.00 # 원격 저장소에 태그 푸시
- 태그(tag): 특정 시점의 커밋을 보존합니다.
- v1.00 태그는 초기 버전의 RockPaperScissors 게임을 의미합니다.
2. 새로운 기능 추가를 위한 브랜치 생성: 기능추가 브랜치
새로운 기능을 추가하기 위해 새로운 브랜치를 생성합니다.
2.1 브랜치 생성 및 이동
git checkout -b feature/기능추가
- feature/기능추가 브랜치를 생성하고 해당 브랜치로 이동합니다.
- 여기서 새로운 기능을 개발합니다. 예를 들어, RockPaperScissors 게임의 결과를 시간 기반으로 랜덤화합니다.
3. 기능 개발 완료 후 커밋 및 푸시
새로운 기능을 추가한 후 커밋하고 원격 저장소에 푸시합니다.
3.1 커밋 및 푸시
git add .
git commit -m "v1.01: Added time-based randomness for game outcome"
git push origin feature/기능추가
- 이렇게 하면 기능추가 브랜치가 원격 저장소에 푸시됩니다.
4. Pull Request 생성 및 master 브랜치에 병합
- **GitHub에서 Pull Request(PR)**를 생성합니다.
- 코드 리뷰 후 문제가 없으면 master 브랜치에 병합합니다.
4.1 병합 명령 (로컬에서)
git checkout master # master 브랜치로 이동
git merge feature/기능추가 # 기능추가 브랜치를 master에 병합
5. v1.01 버전 태그 남기기
병합이 완료되면 v1.01 버전을 태그로 남겨 보존합니다.
5.1 v1.01 태그 생성 및 푸시
git tag -a v1.01 -m "Version 1.01: Time-based randomness for game outcome"
git push origin v1.01
6. 불필요한 브랜치 정리 (선택 사항)
병합이 완료된 기능추가 브랜치는 삭제해 정리합니다.
6.1 브랜치 삭제
git branch -d feature/기능추가 # 로컬 브랜치 삭제
git push origin --delete feature/기능추가 # 원격 브랜치 삭제
7. 최종 구조
- master 브랜치: 항상 최신 버전(v1.01) 유지
- 태그 v1.00: 초기 버전 보존
- 태그 v1.01: 시간 기반 랜덤화 기능이 추가된 버전
8. Git 버전 관리 흐름 요약
- 버전을 태그로 관리해 필요할 때 특정 버전으로 복원할 수 있습니다.
- 새로운 기능은 브랜치에서 개발한 후, master 브랜치에 병합합니다.
- 최신 버전은 항상 master 브랜치에 유지하며, 완료된 브랜치는 정리합니다.
정리
이제 RockPaperScissors 게임에서 v1.00과 v1.01 모두를 보존하면서도 최신 버전을 master 브랜치에 유지할 수 있습니다. Git의 브랜치와 태그를 활용하면 개발 과정에서 다양한 버전을 안전하게 관리할 수 있습니다.
궁금한 점이 있거나 추가적인 도움이 필요하면 언제든지 댓글로 남겨주세요! 😊
'임베디드 관련 카테고리 > Github' 카테고리의 다른 글
로컬 프로젝트를 GitHub에 업로드하는 방법 (0) | 2024.10.28 |
---|---|
GitHub Pages에서 파일 다운로드 링크 만들기 (1) | 2024.10.27 |
GitHub Pages로 버전별 웹사이트 배포하기 (4) | 2024.10.27 |
GitHub Actions 설정하고 실행 (Window) (0) | 2024.10.25 |
GitHub의 PAT 저장 및 Git Credential Manager(GCM) 사용법 (1) | 2024.10.24 |
댓글