2011-08-04 4 views
1

최근에 Mercurial에서 Subversion으로 변경되었으며 local commits에 대해 자세히 알게되어 기뻤습니다.푸시로 자주 지역 커밋을 추상화 하시겠습니까?

그러나 현재 작동 방식과는 다른 워크 플로를 염두에두고 있습니다.

나는 매우 빈번한 커밋을 수행합니다. 중앙 저장소에 대한 나의 단일 push은 5-36 로컬 commit changesets과 각각 commit log을 포함합니다. 그러나 나는 나중에이 개인 commits을 보거나 되돌릴 생각이 없지만 내 단 하나의 push에게 보냅니다. 이 push 작업을 하나의 push log 및 모든 변경 집합을 changeset으로 병합 한 내 복수 로컬 commits에 대한 추상화로보고 싶습니다.

+3

[이 질문을보십시오] (http://stackoverflow.com/q/1200691/218597). 로컬에서 변경 집합을 축소하는 것이 좋을 수도 있고 그렇지 않을 수도 있습니다. 해답과 의견은 또한 ** 그것을하지 않는 ** 방향으로 당신을 가리 킵니다 - 의욕적 인 것은 모두 변경 기록에 관한 것이며, 모든 변경 사항은 그것의 일부입니다. – icabod

답변

1

달성하고자하는 목표에 따라 크게 다르지만, MQ 확장을 사용하여 처음에 수행하는 로컬 커밋 (MQ가 패치로 변환)을 수정할 수 있습니다.

하나의 패치로 두 개를 접거나 기존 패치를 새로 고치고 더 많은 변경 사항을 추가 할 수 있습니다.

역사 이상적 무엇인지에 대해 두 가지 철학이 있습니다

  • 커밋이 남아 있어야 그들은, 그대로 만들어졌다, 또는 그들이 이상적으로 만든 것처럼
  • 역사에 의해, 커밋을 포함해야으로 전지용 개발자.

MQ는 후자의 접근 방식을 원한다면 가장 잘 작동합니다.

2

모든 커밋은 동일하므로 커밋 된 컴퓨터 대신 "로컬"커밋과 "원격"커밋 사이에 구분이 없습니다.

큰 커밋 (수행하려는 작업)은 일반적으로 나쁜 생각이므로 변경 사항을 이해하기 어렵게 만듭니다. 따라서 일찍 커밋하고 자주 커밋하는 것이 좋으며, 다른 개발자에게 밀어 넣는 것이 좋습니다 (병합을 의미하는 것은 아닙니다!). 그러면 개발자가 코드를 사용하고 병합해야 할 경우 병합 할 수 있습니다. 더 큰 기능을 개발하는 경우 분기를 만들고 병합을 마친 경우에도 분기를 만들 수 있습니다.

관련 문제