TortoiseSVN 설치 및 접속 + 간단한 용어 설명 + Unity ignore 설정

Tortoise SVN 설치 및 접속 + 간단한 용어 설명 + Unity

https://tortoisesvn.net/downloads.html

사이트에서 SVN을  다운로드 합니다.

리포지토리(Repository) 관리자가 주는 URL로 접속

리포지토리(Repository) 관리자가 설정한 개인 아이디와 비번으로 접속 후 업데이트를 해준다.

Unity 프로그램으로 협업을 할 경우 ignore 에서 항목을 추가하자

 ignore는 커밋 목록에서 제외하는 것을 의미

입력 후 저장

*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_Store [Tt]humbs.db obj Temp *.suo *.user *.pidb *.userprefs *.csproj *.pidb *.sln *.csproj *.unityproj Library Temp Logs UserSettings .vsconfig .vs obj *.log 

간단한 용어정리

https://fall-in-it.tistory.com/10 <- 참고

SVN (SubVersion) 

형상관리/소스관리 툴

프로젝트의 버전관리를 위해 Repository를 만들고 안에 소스를 저장하여 운용하는 소프트웨어입니다.

버전 관리 기능을 제공하여 프로젝트를 여러 사람이 함께 참여할때 프로젝트 소스코드의 공유, 
옛날 버전의 소스 코드 조회 소스 코드의 백업의 용도로 사용할수있다

– 체크아웃 : 저장소에 접근해 소스 코드와 버전관리를 위한 파일들을 받아 오는 행위

– 추가 : 말 그대로 파일을 서버에 올린다

– 커밋 : 내가 수정한 코드를 올린다

– 업데이트 : 최신 리버전된 버전의 코드를 받는다

Repository : 저장소

SVN 에서 저장소는 보통 Remote Repository(원격 저장소)를 의미한다.

즉, 서버에 올라가 있는 저장소로 소스뿐만이 아니라 소스의 변경 사항도 모두 저장되며

URL 이 있는 모든 사용자가 네트워크를 통해서 접근 할 수 있습니다. 

클라이언트, client

네트워크로 연결된 서버로부터 정보를 제공받는 컴퓨터.

Revision : 리비전

저장소에 올라가 있는 파일들의 버전이라고 표현 할 수 있다.

Revision 의 숫자는 소스 및 파일…등 을 수정하여 commit 하면 일정한 규칙에 의해 숫자가 증가합니다.

이 Revision 을 통해 롤백을 하거나 이전에 소스코드를 확인할 수 있다.

위와 같은 이유로 commit 시 어떤 변경사항들이 발생했는지 Commit Message 를 잘 작성해야 한다.

Revision 을 보고 프로젝트 진행 상황을 알 수 있습니다.

Subversion의 경우 파일별로 Revision 이 매겨지지 않고 한번 commit 한 것으로 전체 Revision 이 매겨집니다.

Trunk : 트렁크

해당 저장소의 중심이 된다는 의미이다.

아래의 그림을 참고하자.

Branch : 브랜치

브랜치는 트렁크와 마찬가지로 영어 단어의 뜻적으로 접근하면 나뭇가지를 뜻한다.

나뭇가지는 나무의 몸통에서부터 파생되어 나온다.

* 그렇다면 트렁크는 중심에서 전체적으로 에러가 없이 잘 돌아가는 소스코드이고

   브랜치는 그 트렁크에서 기능 추가, 수정을 하기 위해 가지로 뻗어 나와 있는 기둥에 영향을 안 주는 소스코드이다.

   나뭇가지를 자른다고(실제로는 그런 행동을 하면 안 됩니다!) 기둥이 죽지는 않는다.

그림으로 표현하면 위와 같다.

그래서 보통 개발할 때는 기반이 되는 Trunk 소스코드에서 기능 별로 혹은 메뉴 별로 혹은 카테고리 별로

(이건 프로젝트 내부 룰에 따라)

Branch 만들어서 개발하고 나중에 Trunk 에 합치는 식으로 개발을 진행한다.

Tag : 태그

태그는 여러 브랜치들이 모여서 만들어진 트렁크에 대해 어느 특정 지점을 기록하기 위한 꼬리표라고 생각하면 된다.

주로 상용 서비스에서는 Release 단위에 따라 태그를 붙이는 편이다.

Checkout : 체크아웃

체크아웃은 초기에 원격 저장소에서 작업을 하기 위해 소스코드를 내 PC 로 내려받는 것을 의미한다.

(Git 의 Clone 과 동일함)

Import : 임포트

임포트는 초기에 원격 저장소에 버전 관리할 소스 코드를 넣는 것을 의미한다.

Export : 익스포트

익스포트는 임포트와 반대로 원격 저장소에서 소스 코드를 가져오는 것을 의미한다.

체크아웃과 다른 점은 .svn 숨김 폴더는 제외한다는 것이다.

즉, 버전 관리 파일을 제외한 순수 소스 코드만 가져오는 것이다.

Commit : 커밋

커밋은 원격 저장소에 변경된 변경 사항들을 저장하는 것을 의미한다.

내 PC에서 아무리 열심히 해도 커밋을 안 한다면 아무 소용이 없다.

커밋을 하게 되면 저자(Author)와 커밋 메시지, 일자와 일시가 찍히고 리비전이 갱신된다.

Update : 업데이트

업데이트는 격 저장소에서 다른 사람에 의해 변경된 소스 코드를 내 PC 에 반영하는 작업이다.

업데이트는 수시로 해주는 게 좋다. 

작업을 시작하기 전에, 커밋을 하기 전에는 필수로 해준다.

Revert : 리버트, 롤백

리버트는 내 PC 에서 수정했던 작업 내역을 되돌리는 작업이다.

파일 단위로 할 수도 있고 폴더 단위로 할 수도 있다.

Merge : 머지, 병합

머지는 내 브랜치와 다른 사람이 작업해 둔 브랜치를 합치는 작업이다.

업데이트 시에는 자동적으로 진행되는 작업이다.

Conflict : 컨플릭트, 충돌

가장 까다롭고 귀찮은 녀석이다..

일단 충돌이 나는 이유는 동일한 파일을 서로 다른 프로그래머가 개발할 경우 자주 발생한다.

충돌이 발생하면 하나하나 비교해가면서 병합을 해야 한다.. (손머지..)

사람이 하는 것이기에 휴먼에러가 발생할 가능성이 있고 그렇게 되면 개발됐던 소스 코드들을 날려버릴 수가 있다…

미연에 방지하기 위해서는 원격 저장소와 동일한 파일 상태에서 업데이틀 무조건 해주는 것이 정신건강에 이롭다..

Lock : 락

그래서 있는 것이 이 Lock(락) 이라는 것이다.

이 명령어를 파일에 걸어두면 락을 건 사용자만 해당 파일을 수정할 수 있다.

사용한 후에는 반드시 unlock 을 해주는 것을 잊지 말자.

Diff : 디프

Difference 의 약자이다.

현재 소스 코드 대비 특정 리비전의 소스 코드와 차이점을 볼 수 있다.

특정 리비전 2개의 차이점을 볼 수도 있다.

Add : 추가

원격 저장소에 커밋하기 위해 VCS 목록에 추가하는 것을 의미한다.

Ignore : 이그노어

Add 와는 반대로 커밋 목록에서 제외하는 것을 의미한다.

“TortoiseSVN 설치 및 접속 + 간단한 용어 설명 + Unity ignore 설정”에 대한 1개의 생각

  1. 핑백: Ubuntu(우분투) SVN서버 설치 및 연결 (Apache2 / Tortoise SVN) - 어제와 내일의 나 그 사이의 이야기

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤