네트워크 액세스없이 로컬 컴퓨터에 svn 서버를 설정할 수 있습니까?


25

네트워크 액세스없이 내 컴퓨터에 SVN 저장소를 설정하려고합니다. 공동 작업자없이 코드를 작성 중이므로 공개적으로 사용하고 싶지 않습니다.

이 게시물을 읽었 지만 무료 저장소를 제공하는 온라인 SVN 저장소 서비스를 사용하는 것이 좋습니다. 이 경우 내 코드를 공개적으로 사용할 수 있습니다 (무료 요금제에 포함되어 있음).

인터넷에 연결되어 있지 않아도 액세스 할 수있는 Windows XP 컴퓨터에 로컬 서버를 설정할 수 있는지 궁금합니다.


15
설명한 작업 과정에 svn과 같은 방법으로 git을 사용하는 것이 좋습니다.
Daenyth

7
확실히 svn을 로컬에 설치하여 사용할 수 있습니다. 그것에 문제가 없습니다. visualsvn.com/server/download
Alex

8
또는 머큐리얼; "hg init"는 당신이있는 디렉토리에 저장소를 생성한다.
perp

8
DVCS가 필요하다고 제안하는 질문에는 아무것도 없습니다. Subversion은 설명 된 시나리오에 가장 적합합니다. 기술적 인 이유가없는 경우 대안에 대한 권장 사항으로 답변을 흐리게하지 않겠습니다.
RichardM

3
@RichardM : 설정이 쉽고 미래를 보장하는 다른 솔루션을 제안하는 데 아무런 문제가 없습니다. OP가 하루에 다른 사람들과 공동 작업을하려는 경우 DVCS는 다른 많은 이점을 제공합니다.
marco-fiset

답변:


31

로컬 서버를 설정하는 가장 쉬운 방법은 svnserve 를 사용하는 것입니다 .

Subversion에는 일반 TCP / IP 연결을 통해 사용자 지정 프로토콜을 사용하는 경량 독립형 서버 인 Svnserve가 포함되어 있습니다. 소규모 설치 또는 완전한 Apache 서버를 사용할 수없는 경우에 이상적입니다.

이 답변에 설명 된 것처럼 파일 URL을 통해 하위 버전 저장소에 액세스 할 수 있기 때문에 실제로 원하는 경우 하위 버전 서버 가 필요 하지 않습니다 .

file : // 프로토콜을 사용하여 저장소에 액세스 할 수 있으므로 Tortoise SVN 만 설치하면됩니다. FAQ에서이 질문을보십시오 : 서버없이 TortoiseSVN을 사용할 수 있습니까?

당신은 당신이 소스를 가지고 다른 컴퓨터에서 작업 할 수 있도록 USB 장치에 저장소를 가질 수 있습니다.

TortoiseSVN 을 사용하는 경우 TortoiseSVN 을 사용하여 리포지토리 만들기 에서 지침을 찾을 수 있습니다 .

  1. Windows 탐색기를 엽니 다

  2. 새 폴더를 만들고 이름을 SVNRepository로 지정하십시오.

  3. 새로 작성된 폴더를 마우스 오른쪽 단추로 클릭하고 TortoiseSVN → 여기에서 저장소 작성 ...을 선택하십시오.

이 페이지 바로 위 의 명령 줄에서 리포지토리만드는 방법도 설명합니다 .


그러나 Mercurial 또는 Git 을 대안으로 사용하는 것이 좋습니다 svn. TortoiseSvn에 익숙하다면 TortoiseHgTortoiseGit 가 쉽게 전환 될 수 있으며 나중에 필요할 때 분산 방식으로 작업 할 수있는 유연성을 제공합니다. 예를 들어 과거에는 메모리 스틱을 사용하여 hg네트워크에 액세스 할 수없는 시스템간에 리포지토리 를 전송 했습니다.이 방식으로 작업 할 때 거래를 무료로 백업 할 수 있습니다.


정말 좋은 답변입니다!
Steve

9

모든 svn-client에 내장 된 로컬 저장소 작업에 사용할 수있는 가장 단순하고 빠른 서버 입니다. 프로토콜 file : ///을 사용하여 로컬 파일 시스템에 존재하는 모든 저장소모든 양의 저장소 에 액세스하기위한 서버입니다 . 권한 부여 또는 인증 방법을 제공하지 않으며 제어중인 저장소에 대한 무제한 액세스 권한 만 부여하지만 다른 측면에서는 VCS 시스템 자체의 모든 기능을 사용하고 제공 할 수 있습니다.

이 서버를 사용하려면 임의의 위치에 빈 디렉토리가 있으며 해당 하위 명령 및 매개 변수를 사용하여 CLI 명령 svnadmin을 호출하십시오 (기억할 수 없습니다. CLI 클라이언트 번들에 관리 프로그램이 있는지 여부는 알 수 없습니다) 확인하십시오-CLI svn-client를 설치하지 않았으며 TortoiseSVN 만 설치했습니다 (버전 1.7의 설치 프로그램에 이러한 프로그램이 있음)-나는 당신이 그것을 찾을 수 있기를 바랍니다.

svnadmin help사용 가능한 모든 하위 명령을 표시하면 하위 명령에 관심이 create있습니다.

svnadmin help create 우리에게 필요한 모든 것을 제공하십시오

create: usage: svnadmin create REPOS_PATH

Create a new, empty repository at REPOS_PATH.

Valid options:
...

첫 번째 저장소의 시작 지점에서 모든 미세 조정 옵션을 무시하고 기본 형식 만 기억할 수 svnadmin create REPOS_PATH있습니다. REPOS_PATH는 빈 디렉토리에 대한 절대 또는 상대 경로이며 저장소를 계획합니다. 크로스 플랫폼 응용 프로그램에 대한 대부분의 일반 Windows 직원은 사람들이 혼란 스러울 수 있으므로 경로 (metoo)에서 사용할 표기법 (앞 또는 백 슬래시)이 가장 안전한 방법은 cd긴 경로없이 디렉토리가 보이는 위치입니다. -미래의 repo-directory 또는 디렉토리 자체의 부모. REPO 계획을 위해 z:\Main 전에 svnadmin create

Z:
cd \Main

그리고 마침내

svnadmin create .

결과적으로 우리는 디렉토리에 빈 저장소를 만들었습니다.이 저장소에는 Windows 탐색기에서 특수한 아이콘으로 내용 표시기가 나타납니다.

리포 폴더

이제이 저장소 가 필요할 때마다 일반적인 SVN 명령을 사용합니다 .URL 부분 또는 매개 변수는file:///Z:/Main

c:\>svn ls file:///Z:/Main
branches/
tags/
trunk/

(리포지토리에 표준 리포지토리 트리를 추가했습니다).

이 이상한 URL을 해보자.

  • file:///URL은 액세스 프로토콜을 의미합니다.이 경우 프로토콜은 특별하며 두 개가 아닌 세 개가 있습니다.
  • Z:/Main 드라이브 내부의 드라이브와 경로가있는 repo의 전체 경로입니다. 모든 Windows 백 슬래시가 "클래식"슬래시로 대체되었습니다.

다른 점에서이 저장소는 특수 Subversion 서버를 사용하는 "Big Brothers"와 다른 점이 없습니다

file : /// repo를위한 RepoBrower


1
@Lazy Badger OP는 svn 서버를 설정하는 방법을 명확하게 물었습니다. 서버를 전혀 사용하지 말라고 지시했습니다. 이렇게하면 질문에 대답하지 않아도됩니다.
대안

5
@mathepic-실제로 OP는 서버가 아닌 SVN 저장소 를 설정하는 방법을 묻습니다 .
Murph

5

구체적인 것이 아니라 일반적인 해결책을 권장하는 답변을 시도해 봅시다.

첫째, 독립형 컴퓨터에서 Subversion을 사용할 수 있습니다-서버를 로컬로 설치하거나 file : //로 작업 할 수 있습니다


그러나 당신이 subversion을 사용해야하는 매우 좋은 이유가 없다면 이것이 로컬 버전 관리 문제에 대한 최선의 해결책은 아니라고 제안 할 것입니다-적어도 그것이 내가 중요하다고 생각하는 것, 즉 당신을 보장하는 것 중 하나가 실패하기 때문입니다. 소스 코드는 적어도 두 곳 이상에 있습니다 (예 : 개인의 경우에도). 따라서 분산 버전 제어 시스템 (DVCS)을 사용하는 것이 좋습니다.

DVCS의 장점 중 하나는 일단 도구가 설치되면 리포지토리가 폴더 내에 자체 포함되며 파일 수준 액세스 권한이있는 한 "동일한"리포지토리를 포함하는 다른 폴더간에 콘텐츠를 동기화 할 수 있다는 것입니다. 또한 해당 리포지토리의 "서버"버전 (개인적으로 호스팅되거나 서비스로 제공되는 버전)과 대화 할 수있는 옵션이 있습니다. 이렇게하면 모든 것을 로컬에서 쉽게 실행할 수 있습니다.

DVCS에는 다른 장점도 있습니다.

이미 언급했듯이, 코드가 적어도 두 대의 컴퓨터 (특히 두 개의 고유 한 하드 디스크에 이상적으로 하나 이상의 위치에 있어야 함)까지 USB 스틱 또는 "클라우드"스토리지 (skydrive, dropbox 등)도 제대로 작동해야합니다.

어떤 DVCS-에 관해서는 Mercurial (Hg)과 Git 그리고 Veracity를 볼 것 입니다. 나는 여전히 Mercurial을 사용합니다.

호스팅 된 서비스의 조건에 따르면 실제로 github을 추천 할 끔찍한 일이 많음에 동의하지만 bitbucket 및 Fogbugz / Kiln에 대한 많은 좋은 점이 있습니다 ... 그리고 다른 많은 서비스에서도 마찬가지입니다. 내가 나열하지 않은 (예 : http://beanstalkapp.com/ 오늘 트위터에 나에게 전달에서 언급 된)


2

Subversion에는 서버가 필요하지 않습니다. 중앙 저장소를 사용하지만이 파일은 '파일'액세스 방법을 통해 액세스 할 수 있습니다. 즉, 저장소가 저장된 파일 시스템에 액세스하기 만하면됩니다. 이것을 설정하는 가장 쉬운 방법은 hdd에 폴더를 생성하고 TortoiseSVN (또는 유사한 도구)을 가리키고 '여기서 저장소를 만드는 것'입니다. 여기에서 코드를 리포지토리에 가져 오는 데 필요한 모든 작업을 수행 할 수 있습니다.

그러나 장기적으로는 분산 SCM을 사용하는 것이 좋습니다. 최고의 후보자는 git (더 강력하고 가파른 학습 곡선, * nix에서 가장 잘 작동 함) 및 수은 (약간 덜 강력하고 배우기 쉬움) 동일하게 작동합니다 창문과 * nix에서 잘). 이를 통해 작업 복사본에 전체 저장소가 포함되며 원하는만큼의 복제본 (원격 또는 로컬)을 만들 수 있습니다. 로컬로 시작할 수 있으며 리포지토리를 외부에서 호스팅하기로 결정한 경우 기존 로컬 리포지토리를 외부 위치로 복제하기 만하면 언제든지 양방향으로 동기화 할 수 있습니다. 더 나은 방법은 각 복제본에 전체 프로젝트 기록이 포함되어 있기 때문에 SCM이 백업 시스템으로 두 배가되는 것입니다. Subversion을 사용하면 서버가 죽고 백업하지 않으면 git과 함께 기록이 사라집니다.

http://hginit.com/ 에는 수은을 시작하는 방법에 대한 훌륭한 자습서가 있습니다.


1

한두 명의 개발자에게 무료 계정을 제공하고 코드를 공개 할 필요가없는 SVN 호스팅 회사많이 있습니다. 링크 된 차트에서 $ 0 수수료, OSS 필수 = 아니오를 확인하십시오. 지금은 해당 기준을 충족하는 9 개의 제공자를 계산합니다.

자신의 리포지토리를 매우 쉽게 호스팅 할 수 있지만 공급자를 사용하면 다음과 같은 이점이 있습니다.

  • 추가 설정없이 어디에서나 코드에 액세스 할 수 있습니다.

  • 코드를 사이트 외부에 유지하면 하드 디스크 충돌, 화재 등으로부터 보호 할 수 있습니다.

  • 관리 오버 헤드가 적습니다.


나는 OP 측 에서 합리적인 개념 을 보았습니다. 그는 SVN을 원하고 로컬 (마지막 단어-가장 중요)을 원합니다 . 캐주얼 사용 사례. 당신은 대답 서로 다른 사용 케이스에 "아니 대답"으로 간주 될 수있다, - 다시 읽기, 첫번째 단어에서 텍스트를하시기 바랍니다! 동안 나는, "하지 대답"같은과 다른 답변을 플래그하지 않았다 공식적으로 그들은 답변을하지 않습니다 . HTH
게으른 오소리

OP의 마지막 문장을 다시 읽어보십시오. "인터넷에 연결되어 있지 않아도 액세스 할 수있는 Windows XP 시스템에 로컬 서버를 설정할 수 있습니까?" - 이것은 일반 영어 텍스트로 된 질문 입니다. 이 질문 에는 답 필요합니다. "답변" 은 질문과 어떤 관련이 있습니까 ?! 실수를 인정하면서 최소한 자신에게 정직하십시오
Lazy Badger

나는 줄 사이를 읽지 않는다 (이 보였다 번 이상 ) 그가 그 저자의 생각없이, 나는 서면 물었다 질문에 대답 정확히 무엇을 읽고 싶어 말을하지만, 할 말을하지 . 이 주제의 대부분의 답변과는 달리, 답변은 질문과 관련이 없습니다
Lazy Badger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.