나는 Mercurial에 익숙하지 않고 여전히 평가 과정에서 어떻게 든 나왔다. 그래서이 네 가지 개념은 나를 혼란스럽게 만든다. 일부는 Git의 Staging/Index 개념과 동일한 것으로 언급되거나 Git의 Staging보다 우수한 것으로 언급됩니다. 어떻게 hg graft
, hg record
, hg qrecord
및 hg shelve
네 개의 명령 (이 Graft vs. Transplant에서 설명하고 hg transplant
하지만 이미) 서로 비교하고, 어떻게 큐의 개념과 dirstate? 어떤 유스 케이스가 다른 유스 케이스보다 선택되어 있습니까? 나는 각자를위한 도움 페이지가다는 것을 알고있다, 그러나 VCS가 저를위한 새로운 화제이기 때문에 아직도 각자가하는 무슨을 알아 내게 곤란하다.Mercurial : 이식 대 레코드 vs. qrecord vs. shelve vs. 이식 대 대열 대기열
답변
Mercurial의 디자인에는 단순히 준비 영역 개념이 포함되어 있지 않습니다. 즉, 로컬 수정과 커밋 간에는 중간 상태가 없습니다.
hg graft
이 git cherry-pick
하는 것과 동일합니다 : 여기
hg transplant
확장자를 대체합니다.
hg record
및 hg qrecord
은 git add --patch
과 유사합니다. 대화 상자를 사용하여 커밋을위한 대화 상자를 선택할 수 있습니다. 따라서 한 파일의 여러 영역을 수정 한 경우 실제로 커밋 할 영역 (즉, hunks)을 선택하고 로컬 수정으로 남겨두고 자하는 영역을 선택할 수 있습니다.
qrecord
은 mq
을 사용하는 경우에만 사용할 수 있습니다. 표준 커밋이 아닌 mq
패치로 커밋됩니다.
hg shelve
은 git stash
과 유사합니다. 그것은 당신이 일시적으로 파일 (또는 파일의 덩어리)에 로컬 수정을 따로 설정할 수 있습니다. 이러한 수정 작업은 준비가되었을 때 unshelved
이 될 수 있습니다.
dirstate
은 Mercurial 소스 코드의 내부 클래스입니다. 사용자에게 노출되지 않습니다.
Mercurial Queues
(mq
으로도 알려져 있음)은 아마도 Mercurial에서 준비 영역에 가장 근접 할 것입니다. Mercurial 위키의 설명은 다음과 같습니다.
변경 사항은 Mercurial에 적용되는 패치로 유지됩니다. 커밋을 제거하거나 재정렬 할 수 있으며 기본 패치는 작업 디렉토리의 변경 내용을 기반으로 새로 고칩니다 ( ). 패치 디렉토리는 리비전 제어하에 배치 될 수 있으므로 패치에 대한 변경 내역은 개별 기록으로 남겨 둘 수 있습니다.
mq
은 로컬에서 테스트 중이지만 공개 위치로 푸시되지 않은 커밋을 연마/재 작업하는 데 자주 사용됩니다. 어떤 사람들은 또한 제 3 자 코드에 대한 일련의 수정을 유지하기 위해 그것을 사용합니다.
- 1. Flash 대 Silverlight vs. HTML5
- 2. 예 : ('||'vs '또는'and '!'대 'not')
- 3. 서비스 vs Runnable 대 AsyncTask
- 4. 부울 대 열거 형 vs.
- 5. 친절 대 vs 계급 이론
- 6. LRU 대 FIFO vs 무작위
- 7. 몽고이드 대 vs collection.insert 만들기
- 8. Azure vs WCF 대 ASP.NET vs ... 어떻게 맞습니까?
- 9. sqlite 대 공유 메모리 응용 프로그램 vs ipc vs?
- 10. RewriteRule :^vs^(. *) $ vs ^. * $ 차이점이 있습니까?
- 11. F # - seq 대 배열 vs 벡터 vs 목록 vs 일반 목록
- 12. Processing vs. JavaFx vs Griffon 비교
- 13. SVG rect vs div 대 캔버스
- 14. Visual Studio vs 2008 대 내 파트너
- 15. len() Vs datalength() 대 sqlserver 2005
- 16. RandomAccessFile vs Scanner 대 Java의 FileInputStream
- 17. 프로세스 대 스레드 (사용자 vs 커널)
- 18. 티타늄 대 Adobe Air Vs Phonegap
- 19. node.js 대 sinatra vs rails는 언제 사용합니까?
- 20. xCode 대 Android SDK vs Adobe Flex
- 21. 복제 대 Sync Framework vs Service Broker
- 22. VS 솔루션, 프로젝트 대 DLL 우수 사례
- 23. CppCMS vs C++ Server Pages 대 Wt
- 24. ID 대 vs 객체 - linq from SQL
- 25. JRuby : import vs java_import 대 include_class
- 26. SpecFlow 대 Cuke4Nuke vs Cucumber + IR
- 27. drupal 7 대 vs Wordpress PHP
- 28. 랙 공간 VS EC2 대 헬기 대 엔진 마당
- 29. 데이터 복제 대 서비스 버스 vs App Fabric 대 ...?
- 30. 인라인 vs __inline vs __inline__ vs __forceinline?
이식이 개념이 아니다 및 준비/인덱스에 상관하지 않고, 기록은 오히려 지금까지 개념에서 –
(개념 * 기록 뒤에 아이디어 *입니다) 그리고 당신은 ** 보류 **에 "혼란 목록"도 –
감사를 추가 할 수 있습니다 , 나는 "명령들"과 "개념들"을 구별하기 위해 질문을 갱신하고, 목록에 두 가지를 추가했다. – Iodnas