git-flow를 따라 이전 릴리스의 핫픽스를 어떻게 처리해야합니까?


101

여기 에 도구 와 함께 문서화 된 git-flow 분기 모델을 따르려는 경우이 상황을 어떻게 처리해야합니까?

1.0 릴리스와 2.0 릴리스를 만들었습니다. 그런 다음 1.0 용 핫픽스를 만들어야합니다. 1.0 태그에서 핫픽스 분기를 만들고 거기에 수정 사항을 구현합니다. 하지만 그럼 어떡하죠?

일반적으로 마스터에 병합하고 거기에 1.1 릴리스 태그를 넣습니다. 그러나 마스터에서 1.1을 2.0 이후의 포인트로 병합 할 수 없습니다.

핫픽스 브랜치에 릴리스 태그를 넣을 수 있다고 생각하지만 릴리스 태그를 포함하는 마스터 옆에 영구 브랜치를 생성합니다. 그게 올바른 방법입니까?


여러 병렬 릴리스 분기 가있는 Git-flow 및 master의 중복 가능성 [다른 질문은 더 새로운 것이지만 더 유용한 답변이
— 있으므로이

답변:


74

git flow에 "support"브랜치의 개념이있는 것 같습니다. 이전 릴리스에 핫픽스를 추가하는 데 사용됩니다.

이 스레드에는 다음 예제와 함께 자세한 정보가 있습니다 .

git checkout 6.0
git checkout -b support/6.x
git checkout -b hotfix/6.0.1

... 수정 한 다음 :

git checkout support/6.x
git merge hotfix/6.0.1
git branch -d hotfix/6.0.1
git tag 6.0.1

또는 git flow명령 사용

git flow support start 6.x 6.0
git flow hotfix start 6.0.1 support/6.x

... 그런 다음 변경하십시오.

git flow hotfix finish 6.0.1

? 이러한 지원 지점을 유지하거나 일정 기간 후에 삭제
— 에반 후

@EvanHu 글쎄, 어딘가에 프로덕션 지점이있는 한 확실히 보관하십시오. 그 후 그것은 역사적 기록의 문제입니다. 핫픽스가 반복되어야하는 경우 핫픽스가 어떻게 수정되었는지 알고 싶을 수 있습니다.
— Klas Mellbourn

핫 픽스에 대한 릴리스를해야하지 않습니까? 어떻게 할 수 있습니까?
— Ravindranath Akila

33

흥미로운 질문입니다! 연결 한 흐름은 마스터가 생산을 추적 할 수 있다고 가정합니다. 프로덕션 버전이 엄격하게 증가하는 경우에만 작동합니다. 이는 일반적으로 프로덕션 버전이 하나만있는 웹 사이트에 해당됩니다.

여러 프로덕션 버전을 유지해야하는 경우 프로덕션을 추적하는 하나의 분기만으로는 충분하지 않습니다. 해결책은 마스터를 사용하여 생산을 추적하지 않는 것입니다. 대신, 지점 좋아 release1, release2등

이 방법에서는 핫픽스 분기가 필요하지 않을 수도 있습니다. release1지점 에서 문제를 해결할 수 있습니다. 수정이 충분 release1.1하면 release1브랜치에 태그를 만듭니다 .


릴리스 분기에서 릴리스 태그를 설정하도록 git-flow를 변경할 수 있습니다. 그것은 상당히 큰 변화입니다. 현재 스크립트가 손상됩니다. 또한 마스터는 무엇을 포함할까요?
— Klas Mellbourn 2013

3
git-flow여러 생산 버전을 지원해야하는 경우 공구는 적합하지 않습니다. 이 답변에서 제안 된 워크 플로에서 마스터는 전혀 사용되지 않습니다. 개발 브랜치 마스터의 이름을 지정할 수 있습니다. 결국 이름 일뿐입니다.
— Andomar 2013

GitFlow는 둘 이상의 생산 버전 추적을 지원합니다. gitversion.readthedocs.io/en/latest/git-branching-strategies/…
— Andre L

7

git-flow는 마스터가 편리하게 추적하는 한 번에 하나의 릴리스 라인 만 지원한다고 가정합니다. 1 개 이상을 유지하는 경우 지원하는 개별 릴리스 (master-1, master-2)의 여러 추적기를 갖도록 git-flow 프로세스를 수정해야합니다. 가장 최근 릴리스 라인에 대한 특정 추적기 (master-2 대신 master)에 추가하거나 대신하여 가장 최근 릴리스 라인을 추적하기 위해 master를 계속 사용할 수 있습니다.

안타깝게도 사용중인 모든 git-flow 도구를 수정해야 할 수도 있지만 git 명령으로이 특정 경우를 직접 처리 할 수있는 git-flow 프로세스에 대해 충분히 알고 있기를 바랍니다.


git flow프로세스를 수정하면 다른 것이됩니다. 일부 모델을 수정해야하는 경우 (확장되지 않은 경우) 작성자가 말한 것처럼 성공적입니다. 우리가 논의하고있는 주제에 대한 나의 대답을 확인하십시오.
— Victor Yarema

0

git config --add gitflow.multi-hotfix true이 명령은 나를 위해 작동하는 것 같습니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.