Git 흐름-다른 기능 분기에서 기능 분기 만들기


85

나는 git flow지금 한동안 사용 하고 있습니다. 특정 사용 사례에 대해 알고 싶습니다.

내 프로젝트 중 하나에 대해 새로운 웹 사이트 기능에 대한 티켓이 있습니다. 이 티켓은 많은 하위 작업에 따라 다릅니다. 메인 티켓에 대한 기능 브랜치를 만든 다음 각 하위 작업에 대해 상위 기능 브랜치에서 기능 브랜치를 만들고 싶습니다.

PROJ-500 티켓이 있고 그것에 대한 기능 브랜치를 생성한다고 가정 해 봅시다.

git flow feature start PROJ-500

그런 다음 모든 것을에 통합하기 전에 티켓 PROJ-501PROJ-515에 통합하고 싶습니다 . 내가 할 수있는 방법이 있습니까?PROJ-500develop

git flow feature start PROJ-511 -b PROJ-500

그런 다음 시간이 지남에 따라 이러한 하위 작업이 완료되고 기능이 완료되면 분기가 PROJ-500.

git flow feature finish PROJ-511

병합 것입니다 위의 명령 PROJ-511으로PROJ-500

모든 하위 작업이 완료되면 PROJ-500완료되고에 병합됩니다 develop.

이렇게하면 새로운 웹 사이트 기능이 단편적이 아닌 단일 단위로 개발되도록 통합됩니다.


그렇지 않습니까? git flow feature start PROJ-511 PROJ-500? DerekS의 답변에 대한 댓글에 게시 한 링크는 그렇게해야한다고 제안합니다.
Paul Hicks 2014

답변:


117

다음을 통해 하위 기능 분기를 만들 수 있습니다.

git flow feature start PROJ-511 feature/PROJ-500

그러나 GitFlow 도구를 사용하여 분기를 다시 주요 기능 분기로 병합 할 수 없습니다.

git flow feature finish PROJ-511

기능이로 병합됩니다 develop. Ergo 하위 기능은 지원되지 않으므로 수동으로 수행해야합니다.

대안 : 요구 사항은 새로운 것이 아닙니다. 가 개방 문제 뿐만 아니라 포크 프로젝트 이외의 지점에 마무리 기능을 지원하는 주장은 develop. 그 기능을 구현 한 풀 리퀘스트 도 발견했습니다 . 수정을 시도하고 만족하는지 확인하는 것이 좋습니다.


업데이트 2019-12-13 : 사용자 Matěj Kříž가 방금 자신의 의견에서 언급했듯이 사용자 Tony Chemit 은 내 몇 달 후 여기 에 원래 gitflow 제품의 대안으로 gitflow-avh 를 가리키는 답변을 작성 했습니다. 위에 표시된 구문으로 기본적으로 하위 기능을 지원합니다. 몇 년이 지났고 요즘에는 AVH 에디션이 Windows 용 Git의 일반적인 설치의 일부입니다. 방금 로컬 상자에서이를 확인하고 하위 기능 옵션을 테스트했습니다. 즉 Windows 사용자의 경우 Git 설치 직후에 작동합니다.


1
@pymarco : 답변을 받아 주셔서 감사합니다. 그래도 궁금합니다. 대안을 시도해 보셨습니까? 만약 그렇다면, 어떤 것과 결과는 무엇 이었습니까? 예상대로 작동합니까? 아마도 다른 독자들이 여러분의 경험에서 무언가를 배울 수있을 것입니다. :-)
kriegaex

죄송합니다. 다시 돌아올 시간이 없었습니다. 나는 어느 시점에서 시도 할 것입니다.
pymarco

3
왜 반대 투표입니까? 비추천 투표는 연구 노력이나 지식의 흔적이없는 잘못 작성된, 조잡한 답변에 사용됩니다. 어쨌든 고마워.
kriegaex 2015-06-02

gitflow-avh 버전 을 사용하는 경우 stackoverflow.com/a/29353800/472611 @ tony-chemit 답변을 낮게보십시오
Matěj Kříž


11

이미 언급했듯이, 우리는 기본 브랜치를 사용하여 새로운 기능을 시작할 수 있습니다.

git flow feature start PROJ-511 feature/PROJ-500

그리고 하위 기능을 완료하기 위해 일시적으로 git 흐름 구성을 변경하여 develop다음 대신 기능 분기를 사용할 수 있습니다 .

git flow config set develop feature/PROJ-500 && git flow feature finish PROJ-511

이런 식으로 git flow는 모든 명령과 온 전성 검사를 실행합니다. 마지막으로 구성을 복원하려면 다음을 실행할 수 있습니다.

git flow config set develop develop 

9

업데이트 (2020 년 11 월 5 일) : 여기 의 최신 답변 에서 언급했듯이 원래 git 흐름을 대체 한 gitflow-avh를 사용하면 가능합니다.

===================

원래 답변 :

나는 자식 흐름에 이것에 대한 방법이 있다고 생각하지 않지만 자식만으로는 상당히 간단합니다.

git checkout PROJ-500
git checkout -b PROJ-511
...do your PROJ-511 work...
git checkout PROJ-500
git merge PROJ-511
git branch -d PROJ-511

2
응답 해 주셔서 감사합니다. 예, 그 워크 플로를 따를 수 있습니다. 그러나 git flow는 하위 기능 개발에 활용하는 것을 선호하는 여러 명령과 온 전성 검사를 캡슐화합니다. - 예를 들어 여기에 자식 흐름 - 기능에 대한 링크입니다 github.com/nvie/gitflow/blob/develop/git-flow-feature
pymarco
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.