2017-10-19 17 views
0

나는 툴에 무관 한 방법으로 SCM을 이해하려고 노력하고 있으며, "TRUNK가 최신 코드를 가지고 있어야하며 모든 최신 기능을 가져야한다"는 것에 대해 약간의 의문점이 있습니다.SCM : 트렁크는 프로젝트 시작 이후 어떻게 최신 코드를 가질 수 있습니까?

예를 들어, JDK 프로젝트를 생각해 봅시다.이 프로젝트가 시작될 때 JDK 1에서 JDK 8로 이동하면서 트렁크가 추가되고 삭제된다는 것을 의미합니까? 프로젝트의 트렁크가 수년에 걸친 모든 변화를 어떻게 가질 수 있는지에 관해서는 어려움을 겪고 있습니다.

나는 다양한 질문을 언급했지만, 프로젝트가 시작된 이래로 TRUNK에 최신 소스 코드가있을 수있는 방법은 아직 명확하지 않습니다.

도움 말에 미리 감사드립니다.

답변

0

처음부터 프로젝트 전체에서 동일한 SVN 저장소를 사용하는 것을 고려하십시오.

트렁크는 Git의 "master"와 마찬가지로 SVN의 기본 분기입니다. 개발이 시작되면 필요에 따라 분기가 Trunk에서 분기됩니다. 이제는 여러 해에 걸쳐 Trunk를 포함하여 이러한 분기가 서로 병합됩니다.

모든 기능/버그 수정을 개발하고 트렁크에 체크인 할 필요가 없습니다. 코드가 사용 가능한 브랜치 중 하나에 체크인되고 동일한 브랜치가 트렁크로 병합되는 경우가있을 수 있습니다.

나는 여러 가지 질문을 언급했지만 프로젝트가 시작된 이래로 TRUNK가 최신 소스 코드를 어떻게 가지고 있는지 명확하지 않습니다.

트렁크의 최신 소스 코드는 무엇입니까? SCM 디자인에 따라 다릅니다. 트렁크는 모든 최신 코드를 가질 수 있으며, 구축 할 수 없거나 배포 가능/프로덕션 준비 상태에 있지 않을 수 있습니다. 일부는 최신 코드를 일부 지점에두고 Trunk를 안정/생산 준비 상태로 유지하는 것을 좋아합니다.

프로젝트가 시작된 이래로? 예, 병합이 커밋 기록 유지와 함께 이루어지기 때문에 Trunk를 포함한 모든 브랜치는 해당 브랜치에 대한 최신 커밋까지 모든 코드를 사용할 수 있습니다.