최근에 Mercurial을 사용하기 시작했고 중앙 저장소에 체크인하지 않고 개인 개발을 위해 VCS 보호 기능을 사용하는 것과 같은 방식으로 중앙 저장소로 이동합니다. 나머지 팀.Mercurial은 로컬 저장소에서 중앙 저장소로 메시지를 보냅니다.
내가 "hg commit"할 때 마지막 커밋 이후에 덧셈과 관련된 커밋 메시지를 씁니다. 내가 중앙에 물건을 밀어 넣기 전에 5 개 정도의 지역 커밋을 할 수 있습니다. 내가 푸시 할 때 개정을 지정하지 않으면 모든 로컬 커밋과 메시지가 중앙 저장소에 추가되지만 모든 로컬 작은 단계로 중앙 로그를 어지럽히고 싶지는 않습니다. 내가 로컬 리비전을 밀고 지정할 때, 리비전과 커밋 메시지 만 푸시됩니다.
문제는 로컬에있는 모든 "오프라인"작업을 요약하는 커밋 메시지로 푸시하고 싶습니다. 왜냐하면 이것이 내가 실제로 추가 한 작업이기 때문입니다. 그러나 푸시 된 커밋 메시지는 내가 가장 최근에 쓴 것입니다. 기능 A에 대해 작업 중이며 5 개의 로컬 커밋이 있습니다. "A.1 추가" "A.2 추가" "foo.cpp의 코드 정리"등으로 끝나며 "A.4 추가" 내가 을 중앙 저장소에 기록하려면 "추가 된 A, foo.cpp 정리"가 필요하지만 마지막 개정판을 누르면 "A.4 추가"가 표시됩니다. 이제, 중앙에 업데이트가있을 때 밀기 전에 로컬로 병합해야합니다. 로컬 커밋 메시지는 "병합 된 팁"입니다. 분명히 그것은 뒤로 미루는 좋은 커밋 메시지가 아닙니다.
여기에 좋은 연습이 무엇입니까? 나는 기존의 커밋 메시지를 변경하거나 새로운 커밋 메시지로 푸시하는 메커니즘을 알지 못합니다. 변경하기 전에 새로운 커밋 메시지를 입력하기 만하면 로컬 레포에 사소한 변경을하고 싶지 않습니다. 그건 바보 야. 이것이 기본적으로 보이기 때문에 나는 뭔가를 놓치고 있어야합니다. 아니면 나는 수은을 제대로 생각하지 않습니까?
"붕괴"가 실제로 내가 찾고있는 것 같아서이 솔루션을 선택했습니다. 그것은 제가 로컬에서 만든 약간의 개선을 포기하고 저의 커밋을하게하고, 업데이트를 공유하기 전에 하나 이상의 포괄적 인 변경 세트로 정리할 것입니다. 어떤 경우에는 수은의 병합을 약화시킬 수 있다는 것을 깨닫습니다. 더 이상 모든 걸 취하지 않으면 조심하겠습니다. 고맙습니다. – jasper77