Tools/VCS
Git branch 간단한 전략
허니몬
2013. 12. 7. 01:25
깃git의 기본 브랜치는 master에서 시작합니다.
- master는 태그Tag를 기록하기 위한 기본브랜치로 사용됩니다.
- 개발을 위해서는 develop 브랜치를 생성합니다.
개발자들이 실제로 소스코드를 공유하는 브랜치가 됩니다.
//master 브랜치에서 develop 브랜치를 생성합니다. (master)$ git checkout -b develop (develop)$
소스코드를 push하기 전에 하는 기본적인 동작방식은 다음과 같습니다.
- 소스코드를 스태징 상태로 변경
(develop)$ git add .
- 소스코드를 커밋함 - 가급적이면 개발한 내용을 상세기록하시는 걸 추천함
(develop)$ git commit 이후 커밋메시지 등록 //혹은 (develop)$ git commit -m '소스코드 중 친구목록 반환시 기준변경'
- 원격저장소(remote repository)에서 당겨오기(pull)
(develop)$ git pull origin develop
- 별다른 충돌conflict가 발생하지 않았다면 push
(develop)$ git push origin develop
- 소스코드를 스태징 상태로 변경
기능개발시 브린치 생성
- 브랜치 생성 - 웹 애플리케이션 설정을 하는 단계의 브랜치
(develop)$ git checkout -b feature/web-application-config (feature/web-application-config)$
- 소스코드 변경작업 후 스태징 상태로 변경
(feature/web-application-config)$ git add .
- 소스코드 커밋
(feature/web-application-config)$ git commit -m '웹 애플리케이션 설정완료 web.xml 등 설정'
- develop 브랜치로 체크아웃
(feature/web-application-config)$ git checkout develop (develop)$
- feature/web-application-config 브랜치 병합merge
(develop)$ git merge feature/web-application-config
- feature/web-application-config 브랜치 삭제
(develop)$ git branch -d feature/web-application-config
- 브랜치 생성 - 웹 애플리케이션 설정을 하는 단계의 브랜치
이런 형태로 기능개발하실 때에 기능 브랜치(feature)를 생성해서 작업하신 후에 커밋하시고 develop 브랜치로 체크아웃하셔서 머지merge를 해주시면 큰 충돌없이 develop에서 소스코드를 유지하실 수 있을겁니다.
깃에 익숙치 않으시다면, 소스트리sourcetree와 같은 GUI 클라이언트를 사용하시는 것을 추천드립니다.