2014-01-30 3 views
3

많은 기사를 읽었지만 아직도 나에게 명확하지 않습니다. 두 개의 브랜치 (master와 dev) 프로젝트가 있다고 가정 해 보겠습니다. Dev는 개발 브랜치를 보유하고 있으며 안정적인 브랜치를 마스터합니다.git 브랜치로 작업하고 병합하는 올바른 방법

질문 1 :

나는 지점을 dev에 몇 가지 기능을 추가 할 - 내가 DEV에 따라 다른 분기를 생성 - 현실을 부르 자 :/일부-기능 설명 기능/1이 기능은이다 큰/하나의 하위 기능 설명, 기능/1.2/일부 하위 기능 설명 및 기능/1.3/일부 하위 기능 설명

필자는 1.1의 기능을 시작했기 때문에 코드를 작성 했으므로 하위 기능 1.1이나 주요 기능 1과 직접 관련이없는 버그를 발견했습니다. 어떻게해야합니까? , 기능에 스위치를, 또 다른 지점 (/ 1/일부-수정-설명 수정)를 생성 문제를 해결, dev에 지점에 수정 지점을 병합, 내 dev에 지점에 다시

  1. 스위치 : 나는 몇 가지 가능한 솔루션을 참조 1 (주요 기능 분기) dev에서 변경 사항을 병합, sub로 전환 기능 1.1에서 변경 사항을 병합합니다.

  2. 기능 1.1에서 문제를 해결하거나 기능 1.1을 기반으로 다른 수정 분기를 만들고 기능을 완료하면 문제를 해결하고 기능 1.1 분기로 병합하십시오. 기능이 완료되면 큰 기능 1 분기와 병합하십시오. , 그리고 그것이 완료되면 dev에 병합하십시오.

단일 및 다중 개발자 프로젝트에서 올바른 방법이 있습니까? 아마도 내가 알지 못하는 또 다른 방법이 있을까요?

질문 2 :

내 기능 기능/1.1/지점/1 /, 내 기능/1.1/코드에서 버그를 발견 합병 한, 아니면 그냥 거기에 몇 가지 변화를 만들고 싶어 한 후 - 다시 Feature/1.1 /로 전환하고, 현재 Feature/1/branch를 병합하고, 변경 한 다음 Feature/1 /로 다시 병합 할 수 있습니까? 아니면 현재 지형지 물/1/코드를 기반으로 다른 지사를 만들어 변경해야합니까?

언제나처럼 답변에 미리 감사드립니다.

감사합니다.

답변

1

질문 1 :

그 옵션 1 git flow에 있던 대부분이다 말할 것입니다. 또한 버그가 Feature 1 또는 Feature 1.1에 직접 영향을주지 않는 경우 해당 분기에 수정 프로그램을 병합하지 않아도됩니다. 중요한 점은 결국이 픽스가 dev에 병합되는 한 결국 제공된다는 것입니다.

질문 2 :

는 별도의 수정 지점을하는 것하고의 엄격한 자식 흐름 방법. 하지만 개인적으로 이전 기능 1.1 분기의 수정을 수행하고 기능 1으로 다시 병합합니다. 병합 할 필요가 없습니다. 기능 1 ~ 기능 1.1 먼저.

1

나는 최선의 방법으로 작업을 구성하기 위해이 기능의 개발을 세 가지 다른 가지로 분리하는 것이 좋다고 생각합니다.

그래서 내가 기능을 1.1에서 작동하기 시작, 나는 몇 가지 코드를 작성했고, 그렇게 에, 나는 (직접 하위 기능 1.1의 주요 기능 (1) 관련이없는) 버그를 발견 한 내용을 해야합니까?

두 번째 해결 방법에 동의합니다. 어쨌든 아직 출시되지 않은 기능을 개발 중입니다. 이 기능이 이미 master 분기의 일부인 경우 수정 프로그램에 대해 별도의 분기를 만드는 것이 좋습니다. 이런 이유로 나는 첫번째 해결책을 사용하여 일하기에 어떤 점도 보지 않는다.

나는 기능 내 기능/1.1/분기를 합병 한 후

/1 /, 내 기능/1.1/코드에서 버그를 발견하거나, 그냥 거기에 일부 변경 만들고 싶어 - 그것은 OK이다, 다시 Feature/1.1 /로 전환하려면 현재 Feature/1/branch를 병합하고 변경 한 다음 Feature/1 /?으로 다시 병합하십시오. 또는 에 현재 기능/1/코드를 기반으로 다른 지점을 만들어야합니까?

나는 현재 Feature1 코드에 다른 브랜치를 만들고 수정 사항을 적용하고 병합하는 것이 가장 빠르고 빠른 방법이라고 생각합니다.

참고 : 당신이 요구하는 것은 작업 방식에 대한 개인적인 의견입니다. 지점을 만들고 병합하는 각각의 개인적인 방법이 최선의 방법이라는 보장이나 증거는 없습니다. 우리 각자에게 우리 자신의 개인적인 길은 최고입니다.

+0

답변 해 주셔서 감사합니다. Q1 : 내 응용 프로그램 만 개발 했으므로 정확히 그 일을하고 있었지만 상상해보십시오. 두 명 이상의 개발자가 있으며 버그를 발견하고 Feature/1/branch에서 수정했습니다. 이제 다른 기능 (Feature/2 /라고 부르 자)을 담당하는 친구가 동일한 버그를 발견하고 지점에서 수정 했으므로 같은 문제에 대해 두 가지 수정 사항이 생겼습니다. 그들의 브랜치를 dev에 다시 병합합니다. 당신이 혼자 작업 할 때 방법 1을 사용할 수 있다고 생각하지만 팀과 함께 작업 할 때는 방법 2가 필수입니다. – user2384366

관련 문제