문제

저는 고등학교 로봇 팀의 프로그래밍 그룹을 멘토링하고 있습니다. 공유/백업을위한 디렉토리를 수동으로 복사하고 손으로 병합하기 위해 디렉토리를 수동으로 복사하는 혼란을 피하기 위해 소스 제어 저장소를 설정하고 싶습니다. 빌드 위치에는 일반적으로 네트워크 액세스가 없으므로 DVC (Distributed Version Control Systems)로 이어졌습니다.

가장 큰 요구 사항은 다음과 같습니다.

  1. Windows XP 및 Vista에서 작동합니다. (절대 필수)
  2. 변경 사항은 로컬로 커밋 될 수 있습니다. (모든 DVC의 경우 인 것 같습니다)
  3. 네트워크 액세스없이 여러 기계의 저장소를 병합 할 수 있습니다. (아마도 USB 드라이브에 저장소를 저장하고 드라이브를 다른 기계로 바꾸어 놓은 다음 거기에서 병합 함)

버전 제어 시스템을 사용한 적이없는 고등학생들과 함께 일하기 때문에 그래픽 UI를 통해 배우고 사용하기 쉽습니다.

어떤 DVC가 가장 적합한 지에 대한 모든 제안.

편집하다:

답변 주셔서 감사합니다. Mercurial은 꽤 좋아 보이지만 한 디렉토리에서 다른 디렉토리로 리포지토리를 병합하는 지원을 지원합니까, 아니면 통합하기 위해 로컬 네트워크를 설정해야합니까?

도움이 되었습니까?

해결책

수은제 Windows와 Linux에서 사용하기가 매우 쉽습니다. 거북이 Explorer에 통합되는 Windows의 GUI 프론트 엔드입니다. 잘 작동합니다. 둘 다 오픈 소스입니다. Windows에서 git을 사용하는 것은 덜 간단하다는 것을 이해합니다.

답변 주셔서 감사합니다. Mercurial은 꽤 좋아 보이지만 한 디렉토리에서 다른 디렉토리로 리포지토리를 병합하는 지원을 지원합니까, 아니면 통합하기 위해 로컬 네트워크를 설정해야합니까?

Mercurial/Tortoisehg는 다른 분산 버전 제어 도구 (내가 아는 한)과 마찬가지로이 작업을 수행합니다. 나는 그것이 당신의 문제를 해결할 것이라고 믿습니다. DVC이며 Tortoisehg를 사용하면 Windows에서 사용하기 쉽습니다. 다른 분산 버전 제어 도구도 아마도 작동하지만 (예를 들어 BZR) 경험이 적습니다. SVN (Subversion)은 중심화 버전 제어 도구입니다. 일부 작업 분야를 사용하면 환경에서 기능 할 수 있지만 해결하려는 문제를 해결하지는 않습니다. 다른 응답자들이 왜 그것을 제안하는지 모르겠습니다.

다른 팁

git은 사랑 스럽지만 Windows 지원은 극도의 LAX입니다 ( msysgit). 나는 Mercurial을 추천합니다. 실제로 직접 사용하지는 않았지만 Windows 지원이 매우 유용하다고 들었습니다. 또한 전통적인 VC (SVN)에서 나오는 사람들에게는 약간의 학습 곡선이 있습니다.

나는 추측한다 수은제 당신의 요구에 잘 맞을 것입니다.

  • 파이썬으로 작성되었으므로 Windows에서 실행하는 데 아무런 문제가 없습니다.
  • 패치 나 번들을 사용하여 로컬로 쉽게 적용 할 수 있습니다.
  • 몇 가지가 있습니다 GUI 도구 사용 가능 (Turtoisehg를 찾음)

Mercurial은 개인적으로 사용하는 VC입니다. 배우기가 정말 쉽습니다. Windows에 대한 지원이 훨씬 나아지기 때문에 GIT를 통해 시도하고 싶습니다.

나는 Bazaar를 좋아한다 : http://bazaar-vcs.org/

그것은 당신이 요구하는 모든 것을 가지고 있으며 사용하기가 매우 쉽습니다.

답변 주셔서 감사합니다. Mercurial은 꽤 좋아 보이지만 한 디렉토리에서 다른 디렉토리로 리포지토리를 병합하는 지원을 지원합니까, 아니면 통합하기 위해 로컬 네트워크를 설정해야합니까?

예, 그렇습니다. 모두 DVCSES는 이것을 지원합니다. 이것과 서버에서 병합하는 유일한 차이점은 일반적으로 URL 대신 로컬 파일 경로를 적절한 명령을 전달한다는 것입니다.

Mercurial에서는 다음과 같습니다.

하드 디스크 (C : Project)에 하나씩 플래시 드라이브 (F : Project)에 하나의 리포지토리가 있다고 가정합니다.

cd C:\Project

hg pull F:\Project

마찬가지로 동일한 시스템에 두 개의 리포지토리가있는 경우

cd C:\Project

hg pull C:\Project1

병합이 필요한 경우 두 개의 "헤드"를 만들고 병합을 요청합니다. hg merge.

added 1 changesets with 1 changes to 1 files (+1 heads)

(run 'hg heads' to see heads, 'hg merge' to merge)

서버에서 당기고 병합 한 것과 동일합니다.

SVN은 특히 단일 사용자에게는 놀랍게도 설정 및 사용이 간단하다는 것을 알았습니다!

SSH+SVN 프로토콜은 SSH의 기능을 사용하여 원격 시스템에서 명령 줄을 실행하여 실제로 SVN을 시작하는 데 실제로 흥미로운 점을 발견 한 것 중 하나는 실제로 SVN을 시작하여 실제로 저장소의 디렉토리를 만들어 서버에서 실제로 설정하지 않았습니다.

SVN에는 CLI (Windows의 TortisesVN)가 마음에 들지 않으면 쉘이 많으므로 다른 것만 큼 쉽게 사용하기 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top