공유 서버를 사용하거나 두 서버 간의 네트워크 연결없이 두 대의 컴퓨터에서 개인 프로젝트를 개발합니다.
일반적인 버전 제어 시스템이 휴대용 저장소 (예 : USB 플래시 장치)를 공유 저장소로 안정적으로 지원합니까?
공유 서버를 사용하거나 두 서버 간의 네트워크 연결없이 두 대의 컴퓨터에서 개인 프로젝트를 개발합니다.
일반적인 버전 제어 시스템이 휴대용 저장소 (예 : USB 플래시 장치)를 공유 저장소로 안정적으로 지원합니까?
답변:
Git 또는 Mercurial 과 같은 DVCS를 사용하십시오 .
분산 버전 제어 시스템에는 공유 중앙 서버가 없습니다.
DVCS를 사용하면 모든 리포지토리 복사본에 모든 기록이 저장됩니다. 즉, USB 키에서 사용하면 변경 사항이 USB 키의 리포지토리에서 변경되고 컴퓨터간에 이동할 때이 기록이 유지됩니다.
GIT 외에도 위에서 제안한 Mercurial 등도 Fossil을 살펴 봅니다. 런타임 바이너리가 작고 (Windows 및 Linux의 경우 1Meg 정도) 휴대 가능하며 설치가 필요 없다는 장점이 있습니다. 따라서 다른 장치와 달리 (내가 아는 한) 저장 장치에 넣고 저장소가 연결된 모든 컴퓨터에서 실행할 수 있습니다. 먼저 컴퓨터에 앱을 설치하지 않아도됩니다. 여기에는 저장소와 Wiki 및 변경 / 결함 추적 시스템이 포함됩니다. 또한 GUI가 내장되어 있습니다.
나는 그것을 심각하게 사용하지 않았지만 (주로 GIT를 사용함) 가벼운 접근 방식에 감명을 받았으며 Wiki 및 결함 추적기가 포함되어 소규모 프로젝트에 이상적입니다. 저의 유일한 관심사는 GIT의 더 강력한 기능 중 일부는 가능하지 않을 수 있으며 GIT와 달리 사용자 커뮤니티가 너무 커서 질문에 대한 답변을 쉽게 찾을 수 없다는 것입니다.
DCVS를 사용하는 것이 좋을지 모르지만 이것이 유일한 옵션은 아닙니다.
USB 썸 드라이브에 작은 CVS 저장소가 있습니다. 액세스 하려면 저장소 루트의 경로 를 사용 cvs -d <path>하거나 설정 해야 $CVSROOT합니다 (물론 엄지 드라이브를 시스템에 마운트해야합니다).
CVS를 사용하는 데 익숙하다면이 기능을 사용할 수 있습니다. SVN에도 동일하게 적용됩니다. 중앙 저장소가 썸 드라이브에 있고 항상 표시되지는 않습니다.
일반적으로 CVS보다는 DCVS를 사용하는 것에 대한 논거가 있습니다. 이러한 주장은 특히 중앙 저장소가 썸 드라이브에 있는지 또는 다른 곳에 있는지에 영향을받지 않는다고 생각합니다. 예를 들어, 엄지 드라이브에 자식 저장소를 쉽게 만들 수 있습니다.
다른 답변 외에도
DVCS는이 문제에 매우 적합하지만, 더 편안하다고 느끼면 기술적으로 Subversion을 사용할 수도 있습니다. Subversion은 중앙 서버 대신 로컬 디렉토리를 사용할 수 있습니다. 이것을 엄지 드라이브에 넣고 사용할 수 있습니다.
DVCS와 비교할 때 단점은 썸 드라이브가 연결되어있는 동안 Subversion (즉, 커밋, 로그보기 등)으로 만 작업 할 수 있다는 것입니다. 또한 항상 같은 썸 드라이브 (또는 적어도 위로) 여야합니다. Subversion을 사용하면 둘 이상의 저장소 (분산되지 않은 부분)를 사용하지 않아야하므로 최신 사본) 따라서 엄지 드라이브를 잊어 버린 경우 Git 또는 Mercurial과 달리 사용할 수 없습니다.
노트 :
위에서 설명한 바와 같이 주석에서 DVCS는 실제로 문제에 더 적합합니다. 완전성을 위해 Subversion에 대해서만 언급했으며 Subversion을 사용해야하는 특별한 이유가있는 경우.
svn(또는 실제로 Cvs)에 대한 선호도는 이 솔루션을 사용하는 데 유리할 수 있지만 전체 공개의 이익을 위해이 접근법의 단점도 언급해야 한다는 데 동의합니다 . 내 의견에서 답변으로 포인트를 자유롭게 편집하십시오. 그렇게하면 의견을 정리 (삭제) 할 수있게되어 기쁩니다. * 8 ')