IT/development

[IDE/SVN]eclipse svn branch 생성

알 수 없는 사용자 2022. 11. 19. 06:12
반응형

목차

    eclipse svn branch 생성

    프로젝트를 진행하다 보면 같은 프로젝트를 다르게 관리해야 되는 경우가 생김, 이 때 브랜치를 만들어서 관리하면 효율적임
    브랜치를 따로 가져가고 최종 반영 시 메인 브랜치인 trunk 브랜치와 merge해서 통합시키면 됨

    eclipse에서 생성하는 걸 가정

    그리고 기존 프로젝트와 동일한 프로젝트명은 기존 프로젝트를 덮어 쓰게 되니 branch아래의 프로젝트 명을 변경해주는 걸 권장

    바뀐 프로젝트명으로 check out 받아서 작업하면 됨

    위 처럼 프로젝트명을 변경해서 check out받는 방법도 있고 svn의 switch 기능을 이용해서 main에서 다른 branch로 변경해서 관리하는 방법도 있음

    위처럼 210928_xxx라는 branch를 새로 생성 한 상태이고 메인에서 이 branch로 변경하려면 아래처럼 switch를 이용함

     

    switch To창에서 바꿀 browse 선택

    browse에서 선택한 branch가 선택이 된걸 확인 할 수 있음

    switch 작업이 완료되면 아래처럼 project의 branch가 바뀜

    이 branch의 프로젝트는 main인 trunk에 영향을 끼치지 않는 branch니까 마음 껏 테스트 하면 됨
    이 다음도 중요한데 소스코드를 수정 후 반드 시 commit을 해야만 main branch에 영향을 끼치지 않음

    ※ 소스코드를 위처럼 수정했으면 commit을 해서 branch별로 버전관리를 해줘야만 함
    만일 다른 branch에서 소스코드 수정 후 바뀐 내용을 commit 하지 않는 경우 원치 않는 내용이 trunk의 프로젝트에 적용됨

    아래처럼 반드시 commit을 해서 버전관리를 다르게 해야 함

    그리고 다른 branch에서 수정한 내용을 trunk에 최종 반영 할 때는 merge 기능을 이용해서 main과 병합, 이 때 branch별로 소스코드가 상이하기에 에러가 발생할 텐데
    다른 부분을 수정해서 잘 반영할 것

    정답은 없기 때문에 branch를 따로 생성 후 프로젝트를 하나 더 check out받을 지, switch로 변경해서 사용할지 적절히 선택해서 사용하면 됨


    branch를 trunk에 merge
    branch를 나눠서 프로젝트 관리할 시 branch의 프로젝트의 소스코드에서 변경된 내용을 최종적으로 trunk에 반영해줘야 함

    위처럼 branch에서 소스코드를 수정한 뒤 commit을 한 상태이고 이를 메인 trunk에 반영하고 싶으면 merge 기능을 이용하면 됨
    svn에서 제공하는 merge의 종류가 3종류인데 여기서는 1번 째 방법인 URL을 이용, 나머지는 구글링

    일단 프로젝트를 trunk로 변경 후 merge 선택

    url에는 branch의 프로젝트 주소를 기입(browse 이용) 후 ok 선택

    ok 선택 시 branch에서 변경된 내역들이 좌측에 나타나고 이것들 중 선택적으로 merge를 시켜주면 됨
    tunk와 branch의 내용이 달라서 충돌 나는 경우는 수정 해주면 됨
    메인을 기준으로 branch와 병합하거나 branch를 기준으로 메인과 병합하거나 순서는 상관 없음

    참조 : 호형, "2020.05.28", https://oingdaddy.tistory.com/30

     

    반응형