SVCS 배경에서 비롯된 DVCS 시스템 작업에 익숙해지기 가장 어려운 것 중 하나는 시한 시한 폭탄과 같은 커밋되지 않은 변경 사항 을 모두 고려하는 방식 입니다.
Mercurial에서 변경 사항을 가져 오려고 시도하고 작업 사본에 커밋되지 않은 변경 사항이있는 경우 들어오는 변경 사항을 병합하기 위해 후프를 뛰어 넘어야합니다. 분기를 전환 하시겠습니까? 그것은 당신이 모든 것을 보류하도록 강요 할 것이고, 당신은 다른 쪽 끝에서 즉시 그것을 풀어야합니다. (SVN은 이러한 시나리오 중 하나에 문제가 없습니다.)
힘내 같은 방법입니다. 나는 프로젝트에서 다른 개발자와 나란히 일하고 있으며, 그의 커밋 중 하나를 내 포크로 선택하려고했습니다. 커밋에서 변경된 파일과 완전히 다른 파일에서 작업 복사본에 커밋되지 않은 변경 사항이 있기 때문에 허용하지 않았습니다 . 병합 옵션조차 없습니다. 분명히 내 변경 사항을 먼저 숨겨야합니다!
어떤 사람이 그러한 극도의주의를 기울여서 완전히 무해한 것을 치료해야한다면, 나는 그것을 정신 장애로 간주해야하는 비이성적 인 두려움 인 "공포증"이라고 부릅니다. 그러나 Git과 Mercurial은 지능적이고 합리적인 개발자로 구성된 두 팀으로 설계되었으므로 내가 모르는 것을 알고 있는지 궁금합니다.
커밋되지 않은 변경에 대한 이러한 태도를 정당화하는 기술적 이유가 있습니까? 그렇다면 왜 문제가 DVCS에만 존재하는 것입니까?