워크플로우에서 Git-flow를 사용하는 방법

3895 단어
안녕.
지금쯤이면 GIT에서 소프트웨어 프로젝트를 관리하고 팀의 작업 흐름을 최적화하는 두 가지 기본 방법(예: Git-FlowGithub Flow)이 있음을 알고 계실 것입니다.
이 기사에서는 Git-Flow를 사용하는 방법에 대해 설명합니다.

Git-flow는 단순히 git 분기 모델입니다. 하나의 기본 분기만 있는 대신 두 개의 분기maindevelopment를 가질 수 있습니다.
기분 좋게 들리네요, 네?
알아요, 그래서 일부 특별한 사용 사례가 있다고 빨리 언급해야 합니다. Luca Mezzalira(2014)에 따르면 소프트웨어에 release 개념이 있는 경우 Git-flow를 사용하는 것이 좋습니다. 이 개념이 없는 Continuous Delivery 또는 Continuous Deployment 환경에서 작업할 때 최선의 결정이 아니기 때문입니다.

힘내 흐름에서:main는 공식적인 릴리스 기록을 추적하는 반면 development는 기능 분기의 통합을 허용합니다.

팁: 버전 번호로 메인 브랜치에 대한 모든 커밋에 태그를 지정합니다.

먼저 한 개발자가 빈 개발 브랜치를 생성하고 서버에 푸시합니다.

`$ git branch development`
`$ git push -u origin development`

개발 브랜치를 기본 브랜치로 만드는 방법



기본 분기를 main에서 devlopement로 변경하려면 다음을 수행하십시오.
  • github.com
  • 으로 이동합니다.
  • 저장소에서 설정
  • 으로 이동합니다.
  • Branches를 클릭하세요.
  • forward and reverse arrows 아이콘
  • 을 클릭합니다.
  • 드롭다운 메뉴에서 developement를 선택합니다
  • .
  • '이해합니다...'를 선택합니다
  • .

    축하합니다! 리포지토리의 기본 분기를 main에서 development로 변경했습니다.

    이제 다른 개발자가 중앙 저장소를 복제하고 development에 대한 추적 분기를 생성할 수 있습니다.main 에서 분기하는 대신 기능 분기가 development 분기합니다.
    즉, development는 이제 기능 분기의 부모입니다.
    기능이 완료되면 기능 분기가 development로 다시 병합됩니다(이를 '기능 분기 작업 흐름'이라고 함).

    스포일러 경고: 기능 분기는 절대로 직접 상호 작용해서는 안 됩니다main.

    기능 분기를 만드는 방법



    기능 분기를 만들려면 터미널로 이동하여 다음 명령을 입력합니다.

    `$ git checkout developement`
    `$ git checkout -b feture_branch_name`
    

    또는 다음과 같이 git-flow 확장 라이브러리를 사용할 수 있습니다.

    `git flow feature start feature_branch_name`
    

    그런 다음 정상적인 Git 사용을 계속할 수 있습니다.
    기능에 대한 개발 작업이 완료되면 이제 다음과 같이 feature_branch_namedevelopment로 병합할 차례입니다.

    `$ git checkout dvelopement`
    `$ git merge feature_branch_name`
    

    또는 다음과 같이 git-flow 확장을 사용합니다.

    `$ git flow feature finish feature_branch_name`
    

    이제 기본 브랜치로 이미 설정된 리포지토리가 있다고 가정하면 다음과 같이 Feature Branch Flow를 시연할 수 있습니다.

    `$ git checkout main`
    `$ git checkout -b development`
    `$ git checkout -b feature_branch_name`
    

    그런 다음 다음 명령을 실행합니다.

    `$ git checkout development`
    `$ git merge feature_branch_name`
    `$ git checkout main`
    `$ git merge development`
    `$ git branch -d feature_branch_name`
    

    릴리즈 브랜치



    개발이 릴리스를 위한 충분한 기능을 획득하면 release 분기에서 development 분기를 분기할 수 있습니다.

    릴리스를 준비하기 위해 전용 브랜치를 사용하는 것의 장점은 한 팀이 현재 릴리스를 다듬는 동안 다른 팀이 다음 릴리스의 기능을 계속 작업할 수 있다는 것입니다.

    릴리스 분기는 개발 분기를 기반으로 합니다. 다음은 릴리스 브랜치를 만들기 위한 일련의 명령입니다.

    git-flow 확장이 없는 경우:

    `$ git checkout develop`
    ` $ git checkout -b release/0.1.0`
    

    git-flow 확장을 사용하는 경우:

    `$ git flow release start 0.1.0`
    

    다음과 같은 텍스트를 볼 수 있어야 합니다. "새 브랜치 'release/0.1.0'으로 전환됨"

    이제 릴리스 브랜치를 기본 및 개발에 병합하고 브랜치를 삭제할 수 있습니다.

    릴리스 분기를 완료하려면 다음 방법을 사용하십시오.

    git-flow 확장이 없는 경우:

    `$ git checkout main`
    `$ git merge release/0.1.0`
    

    git-flow 확장:

    `$ git flow release finish '0.1.0'`
    

    그게 다야!

    좋은 웹페이지 즐겨찾기