git-flow를 따라 이전 릴리스의 핫픽스를 어떻게 처리해야합니까? 1.0 태그에서 핫픽스 분기를 만들고 거기에 수정

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

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

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

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



답변

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

답변

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

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

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


답변

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

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


답변

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