2012-10-31 15 views
9

우리 팀 (1 ~ 2 명의 개발자)의 버전 제어 시스템을 평가 중이며 TFS 2012 버전 제어가 병합 및 분기면에서 Mercurial과 어떻게 비교되는지 궁금합니다. 우리에게는 큰 팀이 없으며 DVCS가 제공하는 강력한 분기/병합 기능이 필요하지 않기 때문에 단지 나 그리고 어쩌면 다른 개발자 일 수도 있습니다. TFS 2012 버전 제어 기능에 대한 정보를 많이 찾을 수 없었습니다. 아무도 나를 안내하거나 일부 기능을 강조 표시 할 수 있습니까? VS Professional 버전의 TFS 2012 독립 실행 형 버전에만 액세스 할 수 있습니다.TFS 2012 버전 관리와 Mercurial

감사

답변

0

서문 :

내가 TFS와 어떤 식 으로든 관련이없는 그것을 사용한 적이있어

얼굴 :

최신 'tfs2012'질문에 최소 일부 (How to set up TFS to cater multiple projects to multiple clients, TFS 2012: Correllating binaries to builds and source code, TFS 2012 Disable Multiple Check-out not working)는 문제, 나는 심지어 질문으로을 Mercurial로 생각하지 않습니다 (일부 외부 도구가 추가되는 경우도 있음). 그러나 TFS는 Mercurial이 아닌 순수한 SCM이 아닌 완전한 ALM 도구로 자리 잡고 있음을 알 수 있습니다.

"Team Foundation Server is the Lotus Notes of version control tools" James McKay의 최신 기사 (2011 년 2 월)는 아니지만 적어도 일부 진술은 유효합니다. 분기 - 병합의

금액 팀 크기에 상관 관계에만 부분적으로, 주로 개발의 스타일에 따라, 당신은 작은 팀에있는 경우 개발자

+0

지금 블로그를 찾을 수는 없지만 2012 년 새 기능을 수행 한 MS 블로그가있었습니다. DVCS를 모방하려고 시도했지만 아직 잘 수행하지 못하는 것 같습니다. 블로그에 대한 논평은 그들을 미친 듯이 찢어 버렸습니다. 좋은 이유가 있습니다. 저는 TFS 2010을 지금 사용하고 있습니다. Hg에는별로 좋지 않습니다 (잠시 동안 사용 해왔음). 당신이 사용하는 것을 선택할 수 있다면, 나는 Hg를 강력히 제안 할 것이다. 2010 년에 많은 문제가 있었고 2012 년에 일부 문제 만 수정했음을 기억합니다. – Mario

+1

TFS 2012는 DVCS를 모방하지 않았지만 다른 VCS가 이미 가지고있는 로컬 작업 공간을 구현했습니다. 필자는 DVCS 기능을 호스트하기 위해 SQL 서버가 완전히 필요하기 때문에 DVCS 기능이 TFS에 올 것이라는 것을 매우 의심합니다. 그러나 로컬 작업 영역 기능의 자연스러운 연속처럼 보이는 여러 로컬 체크인 지원을 추가 할 수 있습니다. 로컬 작업 공간은 "tfs는 SVN과의 비교를 중심으로 버전 제어 도구의 Lotus Notes입니다"링크에서 여러 가지 문제를 해결했습니다. – Betty

+0

@Mario : TFS 2012는 DVCS를 모방하려하지 않습니다. 제 생각에는 "로컬 작업 공간"(이전 체크 아웃/편집/체크 인 모델과 달리 편집/병합/커밋 모델을 제공함)이라는 발표를 오해하고있는 것 같습니다. –

0

의 습관은, 의심 할 여지없이 의욕과 함께 할 것입니다.

Mercurial은 사용하게 될 특정 개발 워크 플로우와 관련하여 가볍고 유연합니다. 그것은 더 작은 팀에 훨씬 잘 맞습니다. 실제로 관리 오버 헤드가 없기 때문에 솔로 데브에 맞습니다.

병합의 필요성에 관해서는 실제로는 고급 기능이 아닙니다. 대부분의 (모든?) 비 분산 VCS가 제대로 작동하지 못하는 것은 매우 기본적인 기능입니다. 지금은 필요하지 않을 수도 있습니다.하지만 그렇게하면 Mercurial에서 바로 사용할 수 있습니다.

+0

TFS에 GIT 저장소 (http://blogs.msdn.com/b/bharry/archive/2013/01/30/git-init-vs.aspx)에 대한 네이티브 지원이 추가되었다고 생각한다면 나는 소형 개발팀이 DVCS보다 중앙 집중식 솔루션을 선호하는 이유는 거의 없습니다. 중앙 집권군은 여전히 ​​일부 큰 조직에서 그 자리를 차지할 수 있습니다. – gnz

2

이전의 "답변"은 약간 이상합니다. TFS 2012의 분기 및 병합은 GUI 및 명령 줄 구현과 함께 예상했던 것과 똑같이 작동합니다.

ALM Ranger Guide업데이트

+0

나는이 '응답'에 관심이있다. 두 가지를 모두 사용해 본 적이 있습니까? 그렇다면 어떻게 비슷합니까? 나는 사랑하는 TFS와 둘 다 사용하는 사람에 대해 들어 본 적도 없다. 나는 다른 사람들을 결코 사용하지 않은 많은 사람들로부터 좋은 것을 알리는 것을 들었다. 또한 귀하의 링크가 실제 가이드로 이동하지 않는 것 같습니다 (하단의 다운로드 버튼은 '지정된 릴리스를 찾을 수 없습니다') – Mario

+1

링크가 업데이트되었습니다. 나는 Mercurial을 사용한 적이 없지만 Git을 사용했습니다. TFS가 배포되지 않기 때문에 몇 가지 분명한 차이점이 있으므로 사과와 사과를 비교하는 것은 실제로 불가능합니다. 하지만 분기/병합은 원하는 작업을 수행합니다. 분기 만들기, 분기 작업, 부모와 코드 병합. –

7

의욕 분기 하나의 중요한 방법으로 TFS 다릅니다 여기에 상당히 완전히 주제를 다루고 좋은 문서입니다. TFS는 파일 공간의 다른 부분에 브랜치를 저장하지만, Mercurial은이를 히스토리 자체에 저장한다. 이것은 분기 및 병합과 관련된 마찰을 대폭 감소시킵니다. 예를 들면 다음과 같습니다.

  • 분기는 암시 적으로 만들어지며 간단히 최신이 아닌 다른 개정으로 업데이트 한 다음 맨 위에 커밋합니다.
  • 분기도 암시 적으로 다시 닫힙니다. 간단히 병합합니다.
  • 처음에 분기를 만들 때와 마찬가지로 분기를 암시 적으로 다시 열 수 있습니다.
  • Mercurial을 사용하면 지점 간을 쉽게 전환 할 수 있습니다. 별도의 작업 공간 매핑을 설정할 필요가 없으며 하나의 디렉토리에서 다른 디렉토리로 변경할 필요가 없습니다.
  • 지점은 익명 일 수 있습니다.
  • TFS에는 "근거없는 병합"(기본적으로 직접적인 부모/자식 관계에없는 가지가있는 대규모 문제가 있음을 의미 함)이있는 반면, Mercurial에는 그러한 것이 없습니다. 각 분기가 얼마나 멀리 떨어져 있더라도 두 개정 사이에 공통적 인 원점을 찾을 수 있습니다.
  • TortoiseHg의 지점에 대한 그래픽보기는 프로젝트 기록과 통합되어 분기 및 병합이 실제로 어떻게 작동하는지 훨씬 쉽게 이해할 수 있습니다.

작은 팀이나 솔로 개발자에게도 적용되는 분기 및 병합의 몇 가지 장점이 있습니다. 그러한 예제 중 하나는 개발중인 다른 기능이있는 경우에도 프로덕션 시스템에서 버그를 수정할 수 있다는 것입니다. 또 다른 예는 탐색 적 또는 실험적 개발입니다. 하나의 접근법이 효과가 없을 경우 쉽게 다시 시작점으로 돌아가서 다른 접근법을 시도 할 수 있습니다.

+0

이것은 훌륭한 글쓰기입니다. 명확성 덕분입니다. –