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.