부캠 5주 프로젝트를 진행하면서 정한 브랜치 전략은 다음과 같다.
- Master: 당장이라도 배포가 가능한 브랜치. 목요일 저녁~ 금요일 오전에 Master 브랜치에 merge 한다
- Release: 이번 배포를 준비하는 브랜치. 목요일 저녁에 dev 브랜치에서 올리고, 급히 수정할 사항이 있다면 hotFix 브랜치를 생성 후 작업한다.
- Develop: 이번 스프린트 동안 작업이 이루어지는 브랜치
- feature: 기능을 구현하는 브랜치
기본적으로 부스트 캠프의 레포지토리를 각자의 저장소로 fork 하고, clone 후 upstream 을 등록하여 작업을 하고 있다.
upstream/dev 에 작업 내용이 업데이트 되면 각자의 origin/dev로 pull받아서 feature 브랜치에서 기능을 구현한다.
기능이 구현되면 origin 동명의 feature 브랜치에 push하고, upstream/dev에 PR하면 한개의 feature 브랜치에서의 작업 사이클이 완료된다.
그러나 어제 feature 가 아닌 dev 브랜치에서 작업 후 commit을 하는 실수가 있었다.
이 브랜치 작업 내역을 feature 브랜치로 옮기고 feature -> dev PR을 하기 위한 방법은 다음과 같았다.
1. 작업한 dev 브랜치에서 새로운 feature 브랜치를 생성한다.
2. 새로 생성한 브랜치에는 잘못 작업한 commit들이 포함되어 있다.
3. 다시 dev 브랜치로 이동하여 commit 내역을 돌리는 명령어를 입력한다.
- git reset HEAD~ --hard : HEAD~ 한개 이전의 커밋으로 --hard 로 내역을 완전히 삭제하고 돌아간다.
4. git log 를 통해 삭제된 커밋 내역을 확인하고, feature 브랜치로 이동한 후 push 한다.
여태껏 브랜치를 잘 정리하고 있어 수월하게 해결할 수 있었다. 하지만 가장 좋은 방법은 브랜치를 착각하지 않고 꼼꼼히 확인하는 것이다.. 큰 교훈을 얻었다.
'github' 카테고리의 다른 글
Xcode와 github 연동하기 (0) | 2020.07.07 |
---|---|
(1) git 시작하기 (2) | 2020.05.19 |