안녕하세요 ☀️
여러 문서들을 참고하고 이해한 내용을 정리하는 글입니다.
모든 내용에 대한 피드백 환영입니다.
오늘은 브랜치 전략인 Git-Flow에 대해 알아보겠습니다.
Git Branch를 활용하여 수행하는 작업 절차를 의미합니다.
팀 단위로 혼자가 아닌 여러 사람들과 협업을 하는 경우 Branch 운영 규칙을 정하지 않고 Git을 사용하면 Conflict를 만날 확률이 늘어나고, 잘못된 Merge를 하는 경우도 발생할 수 있습니다.
이러한 예외 상황들을 미리 예방하고, 효율적인 협업을 하기 위해 Git flow라는 절차가 생겨난 것으로 보입니다. (예방, 약속은 매우 중요하죠!)
Git-Flow에는 master
, develop
, feature
, release
, hotfix
5가지의 브랜치가 있습니다.
브랜치들은 특정 목적이 있고, 어떤 브랜치에서 분기되어야 하는지, 병합되어야 하는지에 대한 규칙이 적용됩니다.
항상 유지되는 main branches
일정 기간만 유지되는 Supporting branches
지금까지 브랜치의 종류와 역할에 대해 살펴보았고, 저는 기본 명령어들을 살펴보기 전에 아래 이미지를 본 것이 많은 도움이 됐습니다.
git flow init
git flow init -d
master
, develop
, feature
, release
, hotfix
, support
feature branch
git flow feature start <feature name>
checkout
git flow feature finish <feature name>
git flow feature publish <feature name>
git flow feature track <feature name>
git flow feature pull <feature name>
명령어를 쳐보니 아래와 같은 문구가 나오며 에러가 뜹니다.The command 'git flow feature pull' will be deprecated per version 2.0.0. Use 'git flow feature track' instead.
2.0.0 버전부터는 pull 키워드가 deprecated 되고 track 키워드를 사용하면 된다고 뜨네요
💡 publish
, track
은 원격 저장소의 기능을 이용하기 위해 주로 사용되는 명령어입니다.
release branch
git flow release start <version>
⭐ 이 쪽 아래부터 확실히 정리, 시뮬레이션해봤고 이론과 실제가 달랐음
git flow release finish <version>
(아래 방법으로 보인다.)
git flow release publish <version>
git flow release track <version>
⭐ 위의 내용 어느정도 정리하고 아래 내용 살펴보기!!!!!!
⭐요것도 시뮬레이션 해보기 (졸려서 대충 정리함 자세하게 정리하기)
hotfix
git flow hotfix start <version>
git flow hotfix finish <version>
git push \--tags
요기 관련 이슈 feature pull 키워드가 track으로 바뀐듯
시뮬레이팅 해보면서 글 정리해야 되는데 주말까지 할 수 있을까? 할 수 있어
(branch rename)해서 분기가 예상대로 움직이지 않았