SVN 빠른 사용 설명서

Subversion 서버를 어떻게 신속하게 구축하고 프로젝트에서 사용할 수 있는지 이것은 모두가 가장 관심을 가지는 문제이다. CVS에 비해 Subversion은 더 많은 선택이 있고 더욱 쉽다. 몇 개의 명령으로 서버 환경을 구축할 수 있고 사용할 수 있다. 여기에 애니메이션 강좌가 곁들여져 있다.본고는 Subversion의 가장 빠른 강좌를 사용하여 가장 짧은 시간 안에 사용할 수 있는 서버 환경을 구축하는 데 도움을 줍니다. 조금만 조정하면 실제 프로젝트에 응용할 수 있습니다.이 강좌는 다음과 같은 몇 가지 부분으로 나뉘는데 간단하게 설명하기 위해 강좌는 윈도우즈에서 사용하는 방식으로 자원의 유한한 프로젝트 사용을 편리하게 한다.UNIX 환경에서는 설치 방법만 다를 뿐 명령 실행은 크게 다르지 않습니다.
  • 소프트웨어 다운로드
  • 서버 및 클라이언트 설치
  • 버전 라이브러리 구축(Repository)
  • 사용자 및 권한 구성
  • 독립 실행형 서버 실행
  • 가져오기 초기화
  • 기본 클라이언트 작업
  • 1, 소프트웨어 다운로드


    Subversion 서버 프로그램을 다운로드합니다.


    공식 사이트에 가서 바이너리 설치 파일을 다운로드하고 바이너리 패키지 다운로드 부분에 와서 Windows NT, 2000, XP and 2003 부분을 찾은 다음에 아파치 2.0 또는 아파치 2.2를 선택하면 많은 다운로드 내용을 볼 수 있습니다. 현재 Setup-Subversion-1.5.3을 다운로드할 수 있습니다.msi .

    Subversion의 Windows 클라이언트 TortoiseSVN을 다운로드합니다.


    Tortoise SVN은 Windows 셸을 확장하는 도구로 Windows 자원 관리자의 플러그인으로 볼 수 있으며 설치하면 Windows가 Subversion의 작업 디렉터리를 식별할 수 있습니다.공식 사이트는 Tortoise SVN입니다. 다운로드 방식은 앞의svn 서버와 유사합니다. 다운로드 페이지에서 저희가 다운로드할 수 있는 버전을 선택할 수 있습니다. 현재 가장 안정적인 버전의 설치 파일은 Tortoise SVN-1.5.14361-win32-svn-1.5.4입니다.msi.

    2, 서버 및 클라이언트 설치


    서버 설치, Setup-Subversion-1.5.3 직접 실행.msi, 알림에 따라 설치하면 됩니다. 이렇게 하면 서버가 실행할 수 있는 환경이 있습니다.
    TortoiseSVN을 설치하고 TortoiseSVN-1.5.5.14361-win32-svn-1.5.4를 직접 실행합니다.msi는 알림에 따라 설치하면 되지만 마지막에 완성되면 리셋 여부를 알려줍니다. 사실 리셋은svn 작업 복사본을 윈도우즈의 특수한 양식에 적용하는 것일 뿐입니다. 모든 실제 기능과 상관없이 바로 좋은 효과를 보기 위해 기계를 다시 시작합니다. 

    3, 버전 라이브러리 만들기(Repository)


    Subversion 서버를 실행하려면 먼저 버전 라이브러리(Repository)를 만들어야 합니다. 서버에 데이터를 저장하는 데이터베이스로 볼 수 있습니다. Subversion 서버를 설치한 후에 다음과 같이 직접 실행할 수 있습니다.
    svnadmin create E:\svndemo\repository

    디렉터리 E:\svndemo\repository 아래에 버전 라이브러리를 만듭니다.
    우리는 또한 TortoiseSVN을 사용하여 이 단계를 도형화할 수 있습니다. 디렉터리 E:\svndemo\repository에서 "오른쪽 단추->TortoiseSVN->Create Repositoryhere..."를 누르고 버전 라이브러리 모드를 선택할 수 있습니다. 여기서 기본값을 사용하면 일련의 디렉터리와 파일을 만들 수 있습니다.

    4, 사용자 및 권한 구성


    E:\svndemo\repository\conf 디렉터리에 와서svnserve를 수정합니다.conf:# [general] # password-db = passwd: [general] password-db = passwd
    그리고 같은 디렉터리의passwd 파일을 수정하고 다음 세 줄의 주석을 삭제합니다. #[users] #harry =harryssecret #sally =sallyssecret 마지막으로: [users] harry =harryssecret sally =sallyssecret
    passwd 파일에서 "="앞의 문자는 사용자 이름이고 뒤의 문자는 비밀번호입니다."[users]"앞의 주석 "#"은 반드시 삭제해야 합니다.

    5, 독립 실행형 서버 실행


    임의의 디렉터리에서 실행됩니다:svnserve-d-r E:\svndemo\repository 저희 서버 프로그램이 시작되었습니다.명령줄 창을 닫지 마십시오. 창을 닫으면svnserve가 정지됩니다.

    6, 가져오기 초기화


    우리가 가져오고자 하는 프로젝트 루트 디렉터리에 왔습니다. 이 예에서 E:\svndemo\initproject입니다. 디렉터리 아래에readme가 있습니다.txt 파일:
    마우스 오른쪽 버튼 -> TortoiseSVN -> Import...URL of repository에 "입력svn://localhost/trunk"Import Message에 로그 정보 입력
    완성된 디렉터리는 아무런 변화가 없습니다. 만약 오류가 발생하지 않았다면, 데이터는 우리가 방금 정의한 버전 라이브러리로 모두 가져왔습니다.
    주의해야 할 것은 이 작업은 TortoiseSVN이 설치된 다른 호스트에서 완전히 진행할 수 있다는 것이다.예를 들어 svnserve를 실행하는 호스트의 IP가 133.96.121.22이면 URL 부분에 입력된 내용은 다음과 같습니다.svn://133.96.121.22/trunk”.

    7, 기본 클라이언트 작업


    버전 라이브러리를 작업 복사본으로 추출하려면 다음과 같이 하십시오.
    임의의 빈 디렉터리에 왔습니다. 이 예에서 E:\svndemo\wc1입니다. 오른쪽 단추->Checkout을 실행하고 URL of repository에 입력하십시오.svn://localhost/trunk이렇게 하면 우리는 업무 복사본을 얻을 수 있다. 
    작업 복사본에서 수정 및 제출:
    readme를 엽니다.txt, 수정하고 오른쪽 단추->Commit...,이렇게 하면 우리는 수정을 버전 라이브러리에 제출해서 실행할 수 있다.
    수정된 내용을 보려면 다음과 같이 하십시오.
    readme.txt에서 오른쪽 단추->TortoiseSVN->Show Log를 누르면 이 파일에 대한 모든 제출을 볼 수 있습니다.버전 1에서 마우스 오른쪽 단추로 ->Compare with working copy를 누르면 작업 복사된 파일과 버전 1의 차이를 비교할 수 있습니다.
    마지막으로 모든 내용이 애니메이션 파일로 녹음되었으니 참고하시기 바랍니다.
    본 강좌에 관하여 여러분의 의견이 있으면 여기서 토론할 수 있습니다.
  • 만약에 파일을 업데이트한 후에 두 사람 또는 여러 사람이 동시에 특정한 파일의 위치를 수정하여 충돌하는지 여부(일반적으로 이렇게 하지 않는다. 업로드된 버전은 컴파일할 수 있고 각자 자신의 모듈을 책임지기 때문에 여러 사람이 같은 파일을 독립적으로 수정하지 않는다. 다른 사람도 먼저 업로드하고 나중에 수정을 업로드한다.,,)
  • 개발자의 습관적인 동작.아침에 출근하는 첫 번째 일은svn버전 라이브러리를 업데이트하고 하루를 시작하는 것입니다.
  • 저녁에 퇴근하거나 다른 시간에 물건을 올리려면 직접 올릴 수 있다. 왜냐하면 당신이 맡은 물건을 수정할 사람이 없기 때문이다.
  • 충돌은 어떻게 발생했을까요? 서로 다른 사람이 같은 파일의 같은 곳을 수정했기 때문에 이때 그가 제출했습니다. 당신이 제출하지 않으면 제출할 수 없습니다. 이때 당신이 먼저 업데이트를 해야 합니다. 업데이트하면 코드 충돌 문제가 발생합니다.가장 좋은 것은 여러 사람이 동시에 하나의 파일, 공용 파일을 수정하지 않는 것입니다. 변경하기 전에 여러분과 소통하거나 충돌을 해결하는 것입니다ㅋㅋ
  • 먼저 업데이트하고 충돌이 없으면 제출합니다.충돌이 있으면 충돌을 해결하고 제출하세요.안 그러면 제출도 못해.
  • 충돌 상태의 일부 파일에 대해 TortoiseSVN -> Resolved를 마우스 오른쪽 버튼으로 클릭하여 충돌을 해결합니다.충돌 해결:http://www.blogjava.net/jasmine214--love/archive/2011/04/07/347769.html
  • 업데이트 - 충돌 해결 - 다음 세 개의 파일 삭제 - 제출(자신이 수정하지 않은 파일에 충돌이 있으면 삭제하고 다시 업데이트하면 된다. 자신이 수정한 파일로 충돌을 해결한다)
  • test.php.mine는 충돌 전 자신의 파일입니다.
    test.php.버전 번호는 충돌 전 로컬 버전 파일입니다.
    test.php.서버 버전 번호는 충돌 후 서버 버전 파일입니다.

    svn 코드 충돌, 제출할 수 없는 해결 방법


    장영은 2010-10-25에 발표했다
    분류 디렉토리: 서버 관련
    svn을 처음 접촉한 사람에게svn 충돌 후 제출하지 못하는 것은 답답한 일이다.가장 답답한 일은 코드 사이의 덮어쓰기다.네가 내 코드를 덮으면 나는 매우 흥행할 것이다.누가 누구의 것을 덮어도 시원치 않다.
    왜 코드 충돌 문제가 생겼을까요? 다른 사람이 같은 파일의 같은 부분을 수정했기 때문입니다. 이때 그가 제출했습니다. 당신이 제출하지 않으면 제출할 수 없습니다. 이때 당신이 먼저 업데이트를 해야 합니다. 업데이트하면 코드 충돌 문제가 발생합니다.일반적인 상황은 가능한 한 많은 사람들이 같은 파일을 수정하는 것을 피해야 한다. 만약 당신이 수정한 파일이 공용 파일이라면 이럴 때 여러분과 한 번 통화하는 것이 가장 좋다. 모두가 고치고 있으면 좋지 않다.
    다음은 일반적인 충돌 해결 방법입니다. 코드를 덮어쓰지 않고 테스트할 수 있습니다.php 예:
    1. 파일을 수정한 후에 제출할 수 없는 것은 대부분 버전이 일치하지 않기 때문이다.업데이트를 하면 충돌이 발생하지 않으면 제출할 수 있습니다.
    2, 파일을 업데이트하고 충돌이 발생하면 충돌 파일 테스트를 엽니다.php는 다음과 같은 내용을 볼 수 있습니다
    <<<<<<<<<<<<<<< asdfadfadfadf 11111111111111 ======= asdfadfadfadf 111111111111111 222222222222 >>>>>>>>>>>>>>>>
    다른 사람이 수정한 내용과 자신이 수정한 내용을 결합한 다음 파일의 <<,=======,>>>>과 같은 충돌 기호를 제거합니다.빼면 제출이 안 돼요. 왜요?충돌할 때 세 개의 파일이 생기기 때문에 이 세 개의 파일이 존재하면 제출할 수 없을 것이다.
    클라이언트가 사용하는 tortoisesvn(이 추정 프로그래머가 가장 많이 사용), 충돌할 때 세 개의 파일이 더 생성됩니다.
    test.php.mine는 충돌 전 자신의 파일입니다.
    test.php.버전 번호는 충돌 전 로컬 버전 파일입니다.
    test.php.서버 버전 번호는 충돌 후 서버 버전 파일입니다.
    제출할 때 이 세 개의 파일을 삭제하면 제출할 수 있다.
    3, 덮어쓰는 원인.
    a), 충돌 파일 수정 테스트.php는 다른 사람의 코드를 모두 삭제하고 자신의 코드만 남겼다.이렇게 하면 덮어쓰기가 생길 것이다.
    b), 테스트를.php.mine의 내용을 테스트에 직접 복사합니다.php 파일, 이렇게 하면 코드 덮어쓰기도 발생합니다.
    위의 두 가지 상황은 모두 내가 직접 신출내기가 이렇게 조작하는 것을 보았기 때문에 이 두 가지 조작 방법을 피해야 한다.

    좋은 웹페이지 즐겨찾기