휴대용 스토리지를 기반으로 한 버전 관리?


9

공유 서버를 사용하거나 두 서버 간의 네트워크 연결없이 두 대의 컴퓨터에서 개인 프로젝트를 개발합니다.

일반적인 버전 제어 시스템이 휴대용 저장소 (예 : USB 플래시 장치)를 공유 저장소로 안정적으로 지원합니까?


왜 휴대용 스토리지를 사용하고 싶습니까?
Bernard

일반 버전 제어 시스템이 공유 서버와 동일한 방식으로 두 시스템간에 코드를 이동합니다. (공유 서버가 없습니다.)
billpg

공장에서 제조 도구를 업데이트하기 위해 USB 플래시 드라이브에서 수은 저장소 세트를 사용 했으며 실제로 잘 작동했습니다. 당신은 때 볼 수있는 기술자 플래시 드라이브로 다시 변경 사항을 동기화하기 전에 변경 사항을 사이트가 로컬 컴퓨터에서 코드를 수정했다 당신이 떨어져있는 동안,과의 병합 (또는 거부).
Mark Booth

SVN은 로컬 스토리지를 지원하며 USB를 사용할 수 있다고 이미 언급했습니다. 그러나 나는 내 개인 보관 용 폴더에의 DB를 저장하는 것을 선호;) 또한 assembla 또는 tfs.visualstudio.com)처럼 (많은 무료 서비스를 사용할 수 있습니다
파벨 보로닌

답변:


31

Git 또는 Mercurial 과 같은 DVCS를 사용하십시오 .

분산 버전 제어 시스템에는 공유 중앙 서버가 없습니다.

DVCS를 사용하면 모든 리포지토리 복사본에 모든 기록이 저장됩니다. 즉, USB 키에서 사용하면 변경 사항이 USB 키의 리포지토리에서 변경되고 컴퓨터간에 이동할 때이 기록이 유지됩니다.


9
당신이 github에 사용하는 경우, 당신은 심지어 USB 드라이브 들고 다니기 없을 것
CamelBlues

감사합니다. 휴대용 저장소를 저장소로 사용하도록 설정할 수 있습니까?
billpg

@billpg-예. 단순히 디렉토리 구조에 있습니다.
Oded

@CamelBlues 또는 bitbucket 또는 kilnhg 또는 아마도 적절하지 않을 수도있는 다양한 다른 것들
Murph

3
DropBox에 주요 개인 Mercurial 리포지토리가 있습니다. 훌륭하게 작동하고 자동으로 백업을 구현합니다 (DropBox가 모든 컴퓨터를 잃어 버리는 동시에 사라지지는 않기 때문에).
David Thornley

7

GIT 외에도 위에서 제안한 Mercurial 등도 Fossil을 살펴 봅니다. 런타임 바이너리가 작고 (Windows 및 Linux의 경우 1Meg 정도) 휴대 가능하며 설치가 필요 없다는 장점이 있습니다. 따라서 다른 장치와 달리 (내가 아는 한) 저장 장치에 넣고 저장소가 연결된 모든 컴퓨터에서 실행할 수 있습니다. 먼저 컴퓨터에 앱을 설치하지 않아도됩니다. 여기에는 저장소와 Wiki 및 변경 / 결함 추적 시스템이 포함됩니다. 또한 GUI가 내장되어 있습니다.

나는 그것을 심각하게 사용하지 않았지만 (주로 GIT를 사용함) 가벼운 접근 방식에 감명을 받았으며 Wiki 및 결함 추적기가 포함되어 소규모 프로젝트에 이상적입니다. 저의 유일한 관심사는 GIT의 더 강력한 기능 중 일부는 가능하지 않을 수 있으며 GIT와 달리 사용자 커뮤니티가 너무 커서 질문에 대한 답변을 쉽게 찾을 수 없다는 것입니다.


Git이 Unix 계명을 사용하여 한 가지 일을하고 심각하게 수행하지만 Git에는 ticgit (티켓 시스템) 및 gollum (repo 기반 위키)과 같은 확장 기능을 통해 이러한 기능을 사용할 수 있습니다.
Jason Lewis

@Jason Lewis : 당신은 정확하고 오픈 소스이기 때문에 어쨌든 요구 사항을 충족시키기 위해 수정 할 수 있으므로 GIT (또는 다른 도구)는 누구에게나 모든 것이 될 수 있습니다 (귀찮은 시간과 자원이있는 사람) 모든 "플러그인"을 다운로드, 설치 및 디버깅하기 "말 그대로 작동"하는 솔루션에 대한 것입니다.
mattnz

1

DCVS를 사용하는 것이 좋을지 모르지만 이것이 유일한 옵션은 아닙니다.

USB 썸 드라이브에 작은 CVS 저장소가 있습니다. 액세스 하려면 저장소 루트의 경로 를 사용 cvs -d <path>하거나 설정 해야 $CVSROOT합니다 (물론 엄지 드라이브를 시스템에 마운트해야합니다).

CVS를 사용하는 데 익숙하다면이 기능을 사용할 수 있습니다. SVN에도 동일하게 적용됩니다. 중앙 저장소가 썸 드라이브에 있고 항상 표시되지는 않습니다.

일반적으로 CVS보다는 DCVS를 사용하는 것에 대한 논거가 있습니다. 이러한 주장은 특히 중앙 저장소가 썸 드라이브에 있는지 또는 다른 곳에 있는지에 영향을받지 않는다고 생각합니다. 예를 들어, 엄지 드라이브에 자식 저장소를 쉽게 만들 수 있습니다.


1
나는 일반적으로 DVCS의 열렬한 팬이 아니지만이 경우 DVCS가 더 좋을 것이라고 생각합니다. 비 분산 VCS의 문제점은 저장소가 단일 실패 지점이라는 것입니다. 하지만 엄지 드라이브 같은 것이 - 그것은 기후 제어 데이터 센터에 앉아 그리고 큰 문제가 아니다 즉, 정기적으로 백업됩니다 경우 것입니다 빨리 (흰 러시아어로 또는 밟거나 먹는 개에 의해, 또는 감소) 분실 또는 나중에.
Mike Baranczak

1
@MikeBaranczak : 좋은 지적 -하지만 아무것도 엄지 드라이브는 CVS 저장소의 여부에 관계없이 정기적으로 백업해야합니다.
Keith Thompson

분산 시스템을 사용하면 각 클라이언트에는 이미 전체 저장소 사본이 있습니다. 따라서 별도의 "백업"절차를 수행 할 이유가 없습니다.
Mike Baranczak

1
@ MikeBaranczak : 물론, DCVS를 사용하는 것이 좋습니다. 내 요점은 DCVS와 중앙 집중식 시스템의 선택은 썸 드라이브의 사용 여부에 달려 있지 않다는 것입니다.
Keith Thompson

0

다른 답변 외에도

DVCS는이 문제에 매우 적합하지만, 더 편안하다고 느끼면 기술적으로 Subversion을 사용할 수도 있습니다. Subversion은 중앙 서버 대신 로컬 디렉토리를 사용할 수 있습니다. 이것을 엄지 드라이브에 넣고 사용할 수 있습니다.

DVCS와 비교할 때 단점은 썸 드라이브가 연결되어있는 동안 Subversion (즉, 커밋, 로그보기 등)으로 만 작업 할 수 있다는 것입니다. 또한 항상 같은 썸 드라이브 (또는 적어도 위로) 여야합니다. Subversion을 사용하면 둘 이상의 저장소 (분산되지 않은 부분)를 사용하지 않아야하므로 최신 사본) 따라서 엄지 드라이브를 잊어 버린 경우 Git 또는 Mercurial과 달리 사용할 수 없습니다.

노트 :

위에서 설명한 바와 같이 주석에서 DVCS는 실제로 문제에 더 적합합니다. 완전성을 위해 Subversion에 대해서만 언급했으며 Subversion을 사용해야하는 특별한 이유가있는 경우.


1
Keith 의 답변 과 마찬가지로 로컬 디렉토리에서 VCS의 문제점은 단일 실패 지점이라는 것입니다. 또한 시스템 A에서 시스템 B로 이동했지만 썸 드라이브를 시스템 A에 연결 한 상태로두면 DVCS를 사용 중인지 (VSC와는 달리 언제든지 로컬 변경 사항을 나중에 병합 할 수 있음) 관리 할 가능성이 훨씬 줄어 듭니다. 계속하려면 mechine A로 돌아가서 드라이브를 가져온 다음 머신 B로 돌아 가야합니다.
Mark Booth

@ MarkBooth : 나는이 솔루션을 옹호하지 않고, 완전성을 위해 그리고 OP가 Subversion에 대한 특별한 선호를 가지고있는 경우를 지적하고 싶었습니다. 나는 이것을 명확히하기 위해 대답을 편집했다.
sleske

@ sleske에게 감사드립니다. svn(또는 실제로 Cvs)에 대한 선호도는 이 솔루션을 사용하는 데 유리할 수 있지만 전체 공개의 이익을 위해이 접근법의 단점도 언급해야 한다는 데 동의합니다 . 내 의견에서 답변으로 포인트를 자유롭게 편집하십시오. 그렇게하면 의견을 정리 (삭제) 할 수있게되어 기쁩니다. * 8 ')
Mark Booth

이 답변이 무엇을 추가했는지 아직 확실하지 않습니다.
Keith Thompson

1
@KeithThompson : SVN이 중앙 서버 대신 로컬 디렉토리를 사용할 수있는 정보를 추가합니다. SVN 문서에 설명되어 있지만 대부분의 사람들은 중앙 서버를 통해 SVN을 사용하기 때문에 SVN에 서버가 필요하지 않은 것은 분명하지 않을 수 있습니다.
sleske
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.