2010-11-30 2 views
2

프로젝트를 진행하는 개발자가 여러 명 있습니다. 우리는 우리가 다음을 수행 분기의 기능을 가지 방법을 사용하고 있습니다 :SVN : 두 지점을 하나로 병합

  1. 모든 유지 보수 작업 및 버그 수정이 모든 새로운 기능이 새로운 분기에 완료
  2. 트렁크에 완료
  3. 분기가 정기적으로 업데이트됩니다 (트렁크에서 분기로 병합 변경을 통해)

그러나 우리는 2 개의 분기 [기능 분기 1 및 기능 분기 2]가 필요하다는 상황에 직면했습니다 함께 병합됩니다. 가장 좋은 방법은 무엇입니까? 우리 중 일부는 새로운 지점을 만들어야한다고 생각합니다. 그런 다음 해당 지사를 첫 번째 지사 [feature-branch-1]와 병합하십시오. 그런 다음 두 번째 기능 지점 [feature-branch-2]과 병합하고 충돌을 처리합니다 (프로젝트 파일 일 가능성이 큽니다).

더 좋은 방법이 있습니까?

고마워요!

+1

아이디어가 있다면 가능한 한 빨리 feature-branch-1과 feature-branch-2를 제거하거나 해당 분기의 내역이 중요한 경우 해당 분기에 대한 커밋을 제한하십시오. 개발 노력은 기존의 것이 아닌 새로운 지점에서 이루어져야합니다. – jgifford25

답변

1

Oooh the merging. 그것을 사랑해.

feature-branch-1, feature-branch-2 및 트렁크를 일부 새 분기로 결합한 다음 예 - 길은 좋습니다. 그렇지 않으면 소중한 시간을 낭비하지 않고 feature-branch-1을 복사하여 feature-branch-2를 병합합니다. 이미이 질문을하는 대신 이미 해본 적이있을 것입니다 : D

+0

두 분기가 정기적으로 업데이트되므로 많은 충돌이 있습니다.그들은 둘 다 트렁크에서 변화를 가지고, 지금은 그 변화가 충돌에 (그들은 동일하지만,) 불평 –

0

정기적으로 트렁크와 브랜치를 병합한다고 가정합니다. 그렇지 않습니까? 그렇다면 병합 후에 트렁크와 지점이 동일하므로 분기 중 하나를 놓고 다른 지점을 계속 사용할 수 있습니다.

트렁크에 병합하지 않으려는 경우에도 한 브랜치를 두 번째 브랜치에 병합하고 두 번째 브랜치를 계속 사용할 수 있습니다.

0

트렁크 옵션 중 하나의 기능 분기 중 하나의 현재 상태를 병합합니까? 그렇다면 해당 기능 분기를 트렁크에 병합 한 다음 다른 기능 분기를 최신 트렁크로 업데이트하는 것이 좋습니다. 그렇게하면 추가 분기를 만들지 않고 분기 중 하나를 제거 할 수 있습니다.

+0

옵션이 없습니다. 지형지 물이 완벽하게 테스트되고 샌드 박스 환경에서 승인 된 경우에만 트렁크를 사용합니다. 그런 다음 해당 지점을 트렁크에 다시 통합하고 테스트 -> 스테이징 -> 프로덕션이라는 다른 프로세스를 적용합니다. – StephenPAdams

1

이것은 당신이 성취하려는 것에 다소 의존합니다. 왜 두 개의 지사를 병합 하시겠습니까? 두 기능이 논리적으로 "결합 된"것이기 때문에 하나를 선택하여 다른 기능에 병합 한 다음 병합 된 지점에서 모든 개발을 수행하십시오. 다른 브랜치의 항목에 대한 종속성이 있기 때문에 하나의 브랜치로 병합하려면 여전히 충분한 공통성이있을 것입니다. 정말로 필요한 경우 병합 된 브랜치를 분기하여 독립적으로 기능을 개발하십시오.

서로 다른 기능을위한 두 개의 비 트렁크 분기를 동기화하면 많은 어려움이 발생할 수 있습니다. 나는 당신이 그것을 도울 수 있다면 그것을 권하고 싶지 않다.

+0

예. 그것이 그 아이디어입니다. 기본적으로 두 개의 분기가 병합되며 모든 개발이 완료됩니다. 이전 분기가 삭제됩니다. – StephenPAdams