[SVN] Branch 생성 / VSCode 에서 SVN 사용

EUN JY·2024년 3월 25일
1

SCM/VCS

목록 보기
2/3
post-thumbnail

SVN

1. 기본 개념

  • 원격 저장소(Remote Repository)와 Local PC 구분 필요

2. Branch 생성

  • 프로젝트 폴더 우클릭 > TortoiseSVN > Branch/tag
  • To path 우측 ... 클릭 > https://192.168.1.000/svn/TestProj 뒤에 Branch명을 붙이고 OK
  • 최종 경로 : https://192.168.1.000/svn/TestProj/ynjch
  • 나머지 설정은 그대로 (Specific revision in repository 체크) 두고 OK
  • 프로젝트 폴더 우클릭 > TortoiseSVN > Update
  • master에 ynjch Branch가 생성되면서 하위 폴더가 생성됨
    • C:\Users\YNJCH\YNJCH\TestProj > ynjch 폴더 생성

3. VS Code 에서 SVN 사용

  • SVN 확장 프로그램 설치
  • 좌측 Source Control 아이콘 클릭

3-1. Source Control 탭

  • 아래 내용은 Commit 과 무관함
  • Changes > Local PC 에서 수정된 파일
  • Unversioned > 버전 관리에서 제외되는 파일
  • Remote Changes > 원격 저장소(Remote Repository) 에서 수정된 파일

3-1-1. 관련 참고 사항

  • Changes 파일은 Commit 하기 전까지는 원격 저장소(Remote Repository)에 반영되지 않음
  • Unversioned 파일은 Add 하기 전까지는 버전 관리에서 제외되며, 아무리 수정해도 원격 저장소(Remote Repository)에 반영되지 않음
  • Changes, Remote Changes 에 모두 포함되는 파일은 Local PC 와 원격 저장소에서 모두 수정이 일어난 파일이므로 Conflict 발생 가능성 有

4. Update

  • 원격 저장소(Remote Repository)에 새롭게 반영된 Commit 건을 가져오는 것을 의미
  • Local PC 에 아직 반영되지 않은 Commit 건이 해당

4-1. Source Control 탭

  • 우측 ··· 아이콘 클릭 > Update

5. Commit

  • Local PC 에서 수정한 내용을 원격 저장소(Remote Repository)에 반영

5-1. Source Control 탭

  • Changes > Commit 할 파일 선택 후 우클릭 > Commit Selected

6. Conflict 해결

  • 상황 가정 history
    • Branch ynjch, tester 는 모두 가장 최신의 소스를 Update
    • Branch ynjch에서 text.txt 파일 Commit
    • text.txt 파일을 Commit 받지 않은 Branch tester에서 text.txt 파일을 수정

6-1. Branch ynjch

  • text.txt 파일을 Commit
최신 update 소스

ynjch 에서 수정 후 commit 수행

6-2. Branch tester

  • Update 로 원격 저장소(Remote Repository) 변경 사항을 반영하지 않은 채 text.txt 파일을 수정
최신 update 소스

ynjch 소스를 update 받지 않고 수정 진행

6-2-1. Source Control 탭

  • Changes : text.txt 파일을 수정하여 생김
  • Remote Changes : 원격 저장소(Remote Repository) 변경 사항이 있어서 생김
  • Changes, Remote Changes 에 모두 포함
    • Local PC 와 원격 저장소에서 모두 수정이 일어난 파일임을 의미
    • 즉, Merge 를 진행해야 함

6-2-2. Merge

  • Update 후 Merge 해도 되지만, 아래와 같은 수정 화면이 나타나기 때문에 Merge 부터 진행
  • Changes > text.txt 파일을 선택 > text.txt (HEAD) 열림
  • 적합한 소스를 우측으로 반영
    • 위치가 바뀌어 나타나도, 어차피 원격 저장소(Remote Repository) 소스는 Cannot edit in read-only editor 문구가 뜨면서 수정 불가함
  • 저장

최신 update 소스

ynjch 에서 수정 후 commit 수행
ynjch 소스를 update 받지 않고 수정 진행 

6-2-3. Update 및 Commit

  • Source Control 탭 > 우측 ··· 아이콘 클릭 > Update
  • Conflicts 발생 확인
  • text.txt 파일 우클릭 > Resolve conflicts for selected 선택
  • mine-full 선택하여 6-2-2. 에서 수정한 내용대로 반영
    • base : Local PC 의 가장 최신 Update 버전으로 되돌아감
  • Changes > Commit 할 파일 선택 후 우클릭 > Commit Selected
profile
개린이

0개의 댓글