로컬 전복 변경을 다른 기계로 전송하는 가장 고통스러운 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/573849

  •  05-09-2019
  •  | 
  •  

문제

나는 내 노트북의 변화를 시도하고 있습니다. 아직 저장소에 제출할 준비가되지는 않았지만 데스크탑에서도 계속 작업하고 싶습니다. 내 변경 세트에는 상당히 크며 수정 사항이 포함되어있을뿐만 아니라 새 파일과 삭제 된 파일도 포함되어 있습니다.

전체 로컬 작업 사본을 다른 컴퓨터에 복사하고 변경 사항을 제정 할 수 있습니다. 그러나 더러운 솔루션처럼 들리며 (다른 기계에서 메타 데이터를 오염시키기 때문에), 빌드 아티팩트도 불필요하게 전송하고 있습니다.

나는 tortoisesvn을 사용하여 .patch 파일을 전송하려고 시도했지만 "패치는 오래된 개정판에 속한다"(사실이 아니며 왜 신경 쓰지 않습니까?) 또는 "라인이 일치하지 않는다"(예, 변경했기 때문에 그렇지 않음)에 대해 계속 불평합니다. 나는 "연속 오류 팝업"경험이 전혀 마음에 들지 않았습니다.

Cygwin을 설치하고 싶지 않으므로 명령 줄 패치가 의문의 여지가 없습니다.

마지막 옵션은이 기능에 대한 새 지점을 포킹하고 "Checkin/Update"의 루프로 들어가는 것 같습니다. 그러나 이것들은 TRAC 이력에 표시되어 오염을 만듭니다.

더 나은 아이디어가 있습니까? 아니면 내가 놓친 것이 있습니까?

도움이 되었습니까?

해결책

분기는 깨끗한 솔루션입니다. 그리고이 큰 변화를 일하는 동안 백업을 제공한다는 추가 이점이 있습니다. 말할 것도없이, 기계 간의 향후 변화를 쉽게 동기화합니다.

그러나 전체 작업 디렉토리를 지키고 다른 기계에 어딘가에 버릴 수 있습니다.

다른 팁

새 지점을 만들고 사용해 보셨습니까? SVN 스위치. 그것은 당신을 저장소의 다른 부분으로 옮기고 초기 작업 개정에서 분기되면 변경 사항을 유지합니다.

대체 접근 방식은 추가 할 수 있습니다 git 믹스에. GIT의 분산 소스 코드 제어 모델을 사용하면 데스크탑과 랩톱 사이를 앞뒤로 푸시 할 수 있습니다. GIT는 로컬 파일 시스템에 대한 변경 사항 정보를 관리하기 때문에 양쪽에있는 커밋은 TRAC 시스템이 모니터링하는 스트림에 나타나지 않을 것입니다.

따라서 기본적으로 '오프라인으로 오프라인'로 가서 GIT 커밋을 사용하여 작업을 완료합니다. 완료되면 전체 키트를 체크인하고 Kaboodle을 파괴 트렁크로 확인하십시오.

기능 분기는 전복이 가벼우 며 이와 같은 기능 특정 작업을 단열하는 데 적합합니다. 전복 1.5 이상을 사용하는 경우 전체 동기화 및 병합 프로세스가 1.4보다 훨씬 쉽습니다.

이 목적을 위해 임시 지점을 만들 것입니다. 이런 식으로, 당신은 당신의 처분시 SVN 도구 만 사용하고 있으며 메타 메타를 오염 시키거나 아티팩트를 복사하지 않습니다.

또한, 간격 간격으로 코드를 체크인하는 것처럼 보이며 하드 드라이브 충돌이 발생할 경우 분기가 데이터 손실을 방지 할 수 있습니다.

마지막 옵션이 아닙니다. 첫 번째 옵션 : 실제로 많은 변경 사항이 있다면 이미 오래 전에 기능 지점을 만들어야합니다.

서버에서 작업 카피에서 분기 다이렉션까지 SVN 사본을 수행하여 여전히이 작업을 수행 할 수 있으므로 "checkin/update의 루프"가 필요하지 않습니다. 하나 체크인, 그냥 하나 실제로 업데이트/스위치.

SVN COPY MYWORKINGCOPY SVN : // THESERVER/PROJECT/BRANCHES/FEACTION/MY-FEATURE-BRANCH

데스크탑에 복제본이 필요한 경우 라이브 동기화가 해당 시나리오에 완벽하게 작동한다는 것을 알게됩니다. 랩톱과 2 개의 데스크탑에서 체크 아웃 폴더를 복제하도록 설정하여 세 머신에서 정확히 동일한 상태를 제공합니다. 그리고 그것은 모두 배경에서 지속적으로 발생합니다.

또는 지점으로 가서 데스크탑으로 이동하기 전에 노트북의 변경 사항을 잊지 마십시오. :-)

편집하다: 주석에 반응하여 - 예, 두 머신이 동기화되는 과정에있는 동안 파일을 편집하기 시작하면 문제가 발생할 수 있습니다. 일어날 수있는 최악의 상황은 기계 중 하나에서 일부 편집을 풀는 것입니다. 실제로, 이런 일이 일어날 가능성은 상당히 작습니다.

글쎄, 대부분의 사람들은 당신의 "변경 세트가 상당히 큰"경우 (필요한 지점에서) 변경 사항을 확인해야한다고 주장합니다!

당신은 시도 할 수 있습니다 SVK. 블로그 게시물 및 SVK 사이트에서 일반적인 SVK 사용 시나리오는 다음과 같습니다.

  • 기존 원격 리포지토리 미러,
  • 그런 다음 컴퓨터에 분기를 만듭니다.
  • 이 지점에서 로컬로 작동합니다
  • 완료되면 거울 트렁크로 다시 합류하십시오.
  • 마지막 단계는 원격 저장소를 투명하게 업데이트합니다.

SVK를 사용한 실습 경험이 없습니다. 그러나 나는 그것이 당신의 시나리오와 일치한다고 생각합니다. 이 블로그 게시물은 자세한 내용으로 설명합니다 http://www.bieberlabs.com/archives/2004/11/30/using-svk/

SVK의 Windows 버전을 사용할 수 있다고 생각합니다 (SVKWIN32) 및 TortoisesVn은 로컬 리포지토리 미러를 업데이트/커밋에 사용할 수 있습니다.

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