2012-03-29 2 views
1

저는 SCM을 처음 접했을 뿐이니 따라야 할 가이드 라인과 권장 사항이 있음을 알고 있습니다. 그러나 그 중 어떤 것도 인식하지 못했습니다. 저를 SCM에 대해 혼란스럽게하는 여러 가지가 있습니다. 예 :의욕적 인 모범 사례

  1. 며칠 또는 심지어 필요한 변경/기능을 수행하고 있다면 가능한 한 자주 가능한 한 자주 최선을 다하고 있습니다.하지만 어떻게해야합니까? 주? 나는 과제를 나눌 수 있지만, 수은은 미래의 변화를 염두에두고 변화를해서는 안된다는 말을한다. 커밋의 모든 변경 사항은 최종 단계에 있어야합니다.
  2. 어떤 경우에 분기가 유용합니까? SCM에서 다른 릴리스를 분리하는 경우는 예외입니다.
  3. 왜 저장소를 복제해야합니까?

그 어리석은 질문 및 나의 부러진 영어로, 나는 그물에 SCM에 관하여 많은 기사를 읽었다, 그러나 그 모두에는 서로를위한 상반되는 정보가 포함한다.

감사

논리적 뭔가가 완료 또는 분기에 작업을 수행해야 할 때
+0

또한 프로젝트 메일 링리스트에서 다음과 같이 요청할 수 있습니다. [email protected] 여기에 대해 토론 할 수 있습니다. 스택 오버플로는 "X를해야하는시기 또는 이유"가 아닌 "어떻게해야합니까?"와 같은 형식의 질문에 더 좋습니다. –

답변

2
  1. 커밋. 단위 테스트를 통해 코드가 양호 함을 확인한 후 밀어 넣으십시오 ( ). 커밋은 로컬이고 푸시는 공개입니다.
  2. 분기 할 때 : 며칠 또는 몇 주 :-)
  3. 필요하면 복제 할 때 모범 사례 규칙이 없습니다.

사고 방식은 자주 저지르는 것이 아니라 자주 병합하는 것입니다. 지사에 있다면 메인 라인과 자주 병합하십시오. 작은 청크는 소화하기 쉽고 개발중인 내용에 대한 가시성을 유지할 수 있습니다 (이에 따라 코드를 조정할 수 있습니다).

+0

답변 해 주셔서 대단히 감사드립니다. 내가 얻지 못하는 것은 여전히 ​​한 가지가 있습니다. 기능을 사용하려면 몇 주간의 작업이 필요할 때 지점을 만들어야한다고 말합니다. 기본 저장소가 아닌 지점에서 작업해야하는 이유는 무엇입니까? 어떻게하면 브랜치와 함께 작업해야합니까? 끝내지 않은 변경 사항을 브랜치에 커밋 할 수 있습니까? 완료되면 메인 리포지토리와 병합하고 완료된 변경 집합 만 밀어 넣으시겠습니까? 이것이 당신이 의미 한 것입니까? 그렇다면 새로 생성 된 브랜치도 푸시됩니다. 다시 한 번 감사드립니다 :-) – Davita

+0

내가 일하는 방식은 몇 가지 작업을 수행하기 위해 메인에 인접한 지점을 만드는 것입니다. 즉, 나머지 지점과 보조를 맞추는 메인 지점을 가질 수 있고 언제든지 원하는 지점에 내 지점을 병합 할 수 있습니다. . 내가 끝나면 메인에서 이름 붙인 다음 마지막으로 병합을 한 다음, 이름이 붙은 것에서부터 메인 (no-op)으로 병합하지 않을 것이다. 왜냐하면 이미 다른 방법으로 병합을했기 때문이다. 푸시하면 병합 한 하나의 변경 집합 만 모두를 메인으로 푸시 할 수 있습니다. –

+0

멍청한 질문에 대해 유감스럽게 생각하지만, 아무 작업도 병합하지 않는다는 것을 의미합니다. 당신이 이미 짐작했듯이, 나는이 분야에서 완전히 새로운 것입니다. (그리고, 분기에 관한 한, 올바르게 이해한다면, 무거운 일을해야 할 때, 내가 가지고있을 때 더러워진 일에 대한 가지를 만듭니다. 몇 가지 진전 나는 메인 브랜치에 최신 변경 집합을 병합 할 수 있습니다.이 "무거운 작업"으로 끝나면, 나는 하나의 메인 레포를 병합합니다 (나중에 병합 충돌을 피할 것입니다). 가장 중요한 점은 마지막 변경 집합 만 푸시하는 것입니다. – Davita