이 확장하고 다른 사람이 말한 명확히하기 : 자주 커밋하고 밀어 유연한 것은 상호 배타적이지 않다.
미리 계획을 세우고 적응할 수 있도록 커밋을하고 싶습니다. 이는 두 가지를 의미합니다. 자주 커밋을해야하며, git처럼 자주 분기해야합니다. 커밋이 작 으면 나중에 작업의 일부분을 선택적으로 그룹화해야 할 경우 커밋을 재구성하는 것이 더 쉬울 것입니다. 그리고 당신의 가지가 잘 조직되어 있다면, 당신은 이미 당신이 강요하고자하는 지점을 이미 가지고있을 것입니다.
이 두 비교 : 당신이있는 그대로 그 세 가지 주제 중 하나를 해제하려면
One branch, few commits:
- A1 - B1 - C1 - B2 - A2 - B3 - C3 (master)
Many branches, many commits:
M1 - M2 (master)
/
o - A1 - A2 - A3 - A4 - A5 - A6 (topicA)
|\
| B1 - B2 - B3 - B4 - B5 - B6 - B7 (topicB)
\
C1 - C2 - C3 - C4 - C5 (topicC)
이제, 당신이해야 할 모든이 마스터와 밀어 병합됩니다! topicA의 절반을 해제하고 나머지 절반이 커밋 A1, A3, A4 및 A6에서 처리되는 경우 topicA를 리베이스하여 해당 커밋 4 개를 먼저 배치하고 마지막 4 개를 마스터로 병합 한 다음, 밀어. topicA (A2 및 A5)의 나머지 부분은 향후 작업을 위해 지연 될 수 있습니다.
M1 - M2 ------------- X (master)
/ /
o - A1 - A3' - A4' - A6' - A2' - A5' (topicA)
(같은 내용으로 인해 자식과 함께 ... 'A1하여 두 커밋을 표시하지만 다른 부모는 실제로 다른 커밋합니다. 커밋)
다음 RMDIR 트럭 죄송합니다? PC에서 마지막으로 "hg clone"과 "hg update"는 500MB와 비슷했기 때문에 위의 2 단계 (hg clone)를 수행하면 PC에서도 데이터가 커지지 않습니다. (단지 "hg update"를 수행하지 않도록하십시오. 그렇지 않으면 500MB 데이터를 가져 오게됩니까?) –
공간이 문제가되는 경우 (또는 그렇지 않은 경우에도) 로컬로 복제하십시오. Mercurial은 하드 링크를 만들어 여분의 공간이 소모되지 않도록합니다. hg 클론 -rSERVER_REVISION_HASH 트렁크 트렁크 -0ops –
무엇이 복제에 관한 것입니까? 나는 Mercurial이 git과 동일하지 않다는 것을 알고 있지만, 확실하게 다른 branch, cherry-pick/rebase (또는 hg analog)를 생성하여 원하는 것을 얻고 그것을 밀어 낼 수있다.). – Cascabel