익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT위키
검색
SVN
편집하기
IT위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
'''Subversion''' == 설치 == === 리눅스 === 대부분의 배포판에서 subversion이란 패키지명으로 설치 가능하다.<blockquote>#yum install subversion</blockquote> == 사용법 == === 리눅스 === '''Repository 생성''' 레파지토리로 사용될 폴더를 하나 생성한다. SVN 전용 서버가 아니라면 레파지토리용 계정을 별도로 생성하여 관리하는 것이 좋다.<blockquote>#mkdir /home/svn #cd /home/svn #svnadmin create 레파지토리이름</blockquote>위 mkdir, cd 등은 상황에 따라 무시해도 된다. 레파지토리를 만들 폴더가 정해졌다면 바로 svnadmin create 부터 하면 된다. '''계정 만들기''' 레파지토리가 생성되면 그 안에 설정파일들이 생긴다. ./conf/passwd 파일 수정을 통해 계정을 생성할 수 있다.<pre> $vi /home/svn/레파지토리이름/conf/passwd [users] # harry = harryssecret # sally = sallyssecret user001 = password!@ </pre>'''SVN 시작'''<blockquote>#svnserve -d -r /home/svn 또는 #svnserve --daemon --root 디렉터리</blockquote> * -d는 [[리눅스 데몬|deamon]] 데몬, 즉 백그라운드로 실행시키겠단 것이다. -i, -d, -X 등의 대체 옵션이 있다. 자세한 건 [[리눅스 svnserve]] 참고 * -r은 root, 즉 루트 디렉터리를 지정하겠다는 것이다. -r로 폴더를 지정하지 않을 경우에도 실행이 되는데 이는 현재 디렉터리로 지정되는 것이 아니라 완전 [[리눅스 기본 디렉터리|리눅스 루트 디렉터리]]로 지정되므로 그렇게 사용할 순 없다. 즉 "-r 디렉터리" 옵션은 필수이다. '''첫번째 Checkout''' 체크아웃이란 레파지토리에 있는 소스코드를 불러오는 행위인데, 아직은 아무런 파일이 없으므로 여기선 그냥 레파지토리가 잘 생성되고 데몬이 잘 돌아가고 있는지 테스트하는 용도이다.<blockquote>#svn checkout <nowiki>svn://127.0.0.1/레파지토리이름</nowiki> Checked out revision 0.</blockquote>위와 같이 Checked out revision 0. 이라고 나오면 성공이다. 이제 외부에서 이 레파지토리에 접근 가능하고 형상관리가 시작 가능하다. 물론 방화벽이 기본적으로 닫혀 있는 경우가 많으므로 그런 경우 포트를 열어줘야 한다. svnserve로 SVN을 시작할 때 포트를 지정하지 않았다면 기본적으로 3690 포트를 사용한다. 보안을 위해 임의의 다른 포트를 사용해주는 것이 좋다.<blockquote>#svnserve -d -r /home/svn --listen-port 61223</blockquote>이미 실행시켰다면 끄고 다시 실행해야 한다. 종료 방법은 [[리눅스 svnserve]] 참고 '''기본 디렉터리 만들기''' 실제 프로젝트에서 협업을 하기 위해선 기본적으로 사용하는 3개의 디렉터리를 만들어줘야 한다. * '''trunk:''' 말 그대로 기둥이 되는 메인 저장소이다. 정상적으로 commit이 완료된 최신화된 파일이 저장되는 장소이다. * '''branches:''' 작업 중인 소스코드들이 저장되는 장소이다. trunk에서 branches들을 뽑아내어 수정을 완료하면 다시 trunk에 merge를 하게 된다. 즉, trunk는 저장소에서 하나이지만 branches는 여러개가 될수 있다. * '''tag:''' 소스코드가 지속적으로 수정되는 특정 기준시점에 대한 정보이다. commit이 계속 이루어진 최신 소스가 항상 정상 실행이 보장되는 것은 아니다. commit 후에 테스트를 하거나 릴리즈를 해 보고 오류가 있을 경우 가장 정상적으로 실행되었던 버전으로 돌려야 하는데 이 때 사용되는 것이 tag이다.
요약:
IT위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
분류별 보기
일반 IT용어
프로젝트 관리
디지털 서비스
블록체인
인공지능
소프트웨어 공학
운영체제
컴퓨터 구조
자료 구조
데이터 과학
데이터베이스
네트워크
프로토콜
보안
컴플라이언스
개인정보보호
표준
경영학
기업 IT
조직/단체
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록