만개의 레시피 클론 코딩, git flow
문제1. git으로 협업하기
- git으로 협업을 해본 경험이 없어 내가 작성한 코드를 어떻게 로컬 저장소에 올리는지 전체적인 부분에 대해 팀원에게 질문했다.
- 세팅이 다된 remote develop 브랜치에 create branch here해서 local 브랜치를 만들고
- 그 환경에서 mustache로 화면을 만들었습니다
- GitKraken 맨 오른쪽에 stage all changes, commit message, commit 하면 되는건가요?
해결1.
git flow 를사용하세요
문제2.
git-flow init 후 Fatal: Working tree contains unstaged changes. Aborting 발생
해결2.
- git flow는 변경된 파일이 없는 상태에서 초기화 해줘야한다.
- git stash
- 변경된 기능은 임시 저장한다.
- git flow init
- 초기화
- git flow feature start chef
- 특정 기능을 개발하기 위한 branch가 필요하므로 feature를 추가하고 내가 개발할 쉐프 목록을 chef라고 이름을 지어줬다.
- git stash pop
- 임시 저장한 내용 불러온다
git stash
git flow init
git flow feature start chef
git stash pop
그렇다면 git flow란 무엇인가?
- feature - develpo - release - hotfixes - master 단계로 branch를 나눠서 코드를 관리하는 전략
- 이를 사용자가 쉽게 접근하고 사용할수 있도록 확장 기능(명령어)를 제공하는 것이 gitflow다.
방식
- 기존 git 저장소 내에서 초기화하는 것으로 git-flow의 사용을 시작할 수 있다.
- 명령어를 실행하고 나면 자동으로 master 외에 develop branch가 생성되며, 기본적으로 develop branch에서 개발하고, master로 release 하는 방식이다.
- git flow init
- 해당 명령어를 실행하면 프로세스 별로 사용할 branch이름을 입력하라는 메시지가 뜬다. (-d 옵션시, 이 과정 생략)
branch 종류
- master : 최종 릴리즈에 사용되는 안정된 버전
- develop : 다음 릴리즈를 위해 개발중인 최신 버전
- feature : 특정 기능 개발을 위한 branch
- release : 릴리즈 점검을 위한 branch
- hotfix : 긴급 버그 픽스를 위한 branch
- support : 버전 호환성 문제를 처리하기 위한 branch
결과 화면
-
깃 크라켄 화면
-
첫번째 PR
느낀점
그동안 git은 백업용으로 사용했었는다. 처음으로 협업을 위해 사용했는데 쉽지 않았고, 잘 사용하면 굉장히 유용할것같다. 하지만 ‘잘’ 사용하기 위해 계속 공부하고 테스트용 저장소를 이용해서 많이 테스트 해봐야겠다. 그리고 잘한건지 모르겠는데…. 처음으로 PR올리니까 신기하고 재밌다 크크