2011-05-06 7 views
2

주 및 dev 분기가 있습니다. 두 가지를 모두 변경하고 체크인합니다. main에서 dev로 병합하고 체크인합니다. 이제 dev에서 main으로 병합됩니다. 나는 갈등이있다. 이것이 어떻게 가능한지?TFS 병합 충돌

답변

3

병합을위한 한 방향의 충돌을 해결하는 것이 다른 방향의 병합에 반드시 필요한 것은 아닙니다. 많은 워크 플로우에서 기본적으로 두 개의 브랜치를 가능한 한 유사하게 유지하기 위해 병합하고 있습니다. 예를 들어 개발 브랜치를 프로덕션 브랜치로 변경하고 프로덕션 브랜치에서 핵심 브리 지 픽스를 개발 브랜치로 옮길 수 있습니다. 이런 종류의 워크 플로에서는 일반적으로 두 가지를 병합 할 때 분기를 원하지 않을 것입니다. (결국 양쪽 지점 모두에서 중요한 버그 수정이 필요합니다.) 그래서 병합 충돌을 두 번 모두 해결해야하는 이유는 분명하지 않지만 확실합니다. 지점에서 작업 할 때 유일한 워크 플로우는 아닙니다.

다른 프로젝트에서 작업하는 그룹과 공유 한 유틸리티 라이브러리가있는 Java 프로젝트에서 작업하곤했습니다. 어떤 시점에서 우리 도서관은 여러 가지 이유에서 도서관과의 차이점을 보일 필요가 있었기 때문에 프로젝트의 한 부분을 맡았고 두 그룹 모두 도서관을 독특하게 변경했습니다. 때로는 버그를 고치기도하고 때로는 새로운 기능을 추가 할 때가 있기 때문에 서로 자주 병합했습니다.

브랜치에서 브랜치로 병합 한 결과가 반드시 브랜치에서 브랜치로 병합 한 결과가 아니어야합니다. 우리가 몇 가지 새로운 방법을 추가하고 어쩌면 몇 가지 버그를 수정 한 파일이 있다고 가정 해 봅시다. 그리고 그들이 몇 가지 다른 방법을 추가했다고 가정 해 봅시다. 변경 사항을 지점에 병합 할 때 병합 충돌이 발생하고 버그 수정이 필요하다고 가정하되 필요하지 않았기 때문에 새로운 방법을 사용하지 않았다고 가정 해 봅니다. 이제 분기를 변경하기 위해 병합을 수행 할 때 병합 충돌이 계속 발생합니다. 이렇게하면 해당 메서드를 파일로 가져올 수 있습니다.

TFS가 지사의 결과를 기반으로 지사에서 지사로 병합되는 것에 대해 일부 가정 할 경우 정확하지 않습니다.

관련 문제