Mercurial에서 특정 버전의 파일을 얻는 방법은 무엇입니까?
나는 Mercurial을 처음 사용합니다. 올바른 명령을 찾을 수 없습니다. 운이없는 업데이트 / 체크 아웃을 시도했습니다. 로컬 저장소를 사용하고 있습니다. 감사
나는 당신이 원한다고 생각합니다 hg revert -r<rev> <file>
(이것은 파일이 주어진 개정판과 같도록 변경 될 것입니다).
djc가 말했듯 revert
이 이전 개정판과 일치하도록 파일을 변경합니다. 당신이 그것을 제자리에 원하지 않는다면 hg cat -r revisionid filename
(revisionid와 filename을 대체하여) 파일을 stdout으로 출력하여 원하는 곳으로 리디렉션하는 데 적합합니다.
hg revert
실제로이 문제를 해결합니다. 그러나 나는 당신이 단순히 당신의 질문에 대한 대답보다 더 넓은 범위의 것들에 대해 혼란스러워하고 더 완전하게 대답하려고한다고 생각합니다.
hg update
전체 저장소 명령이며 개별 파일에서 작동하지 않습니다. svn update
이런 식으로 Subversion과는 다릅니다 . 그렇게 hg --help update
하면 명령이 파일 인수를 취하지 않기 때문에 이것이 사실임을 알 수 있습니다. 전체 리포지토리를 특정 스냅 샷으로 이동하는 데 사용할 수 있지만 한 파일로만 수행 할 수는 없습니다.
입력 hg --help
하면 명령 목록이 표시됩니다. 그것은 다소 크고 다소 어려운 목록이지만, 그것을 읽으면이 줄을 찾을 수 있습니다 :
revert restore individual files or directories to an earlier state
이제 비교 목적으로 마지막 상태를 원한다면 관심있는 다른 명령이 있습니다 hg cat
. 그러면 특정 개정판에서 파일 내용을 인쇄 할 수 있습니다. 그런 다음 출력을 다른 파일로 리디렉션 할 수 있습니다. 그런 다음 이전에 알려진 올바른 버전의 파일과 이전 버전을 나란히 비교할 수 있습니다.
Mercurial이 별도의 update
명령을 갖는 이유 는 Subversion에서 불가능한 Mercurial에서 무언가를 수행 할 수 있기 때문입니다. 당신은 할 수 있습니다 update
이전 버전으로, 변경 후 커밋합니다. 분기가 생성됩니다. 이 update
명령은 현재 작업 디렉토리의 상위 개정판을 변경하고 해당 디렉토리에있는 모든 파일의 내용을 해당 상위 개정판 버전으로 변경하는 효과가 있습니다.
즉 revert
, 파일 내용 (또는 명령에 올바른 인수를 제공하는 경우 전체 저장소)을 변경하지만 현재 작업 사본의 상위 개정은 동일하게 유지해야합니다.
hg parents
명령 을 사용하여 현재 작업 사본의 상위 개정 (또는 병합의 경우 개정)을 찾을 수 있습니다 .
Subversion 개정판은 엄격하게 선형 진행됩니다. Mercurial은 모자를 떨어 뜨릴 때 가지를 만들고 거의 병합하기가 쉽습니다. 개정은 엄격하게 선형적인 진행이 아닌 DAG를 형성합니다.
특정 파일의 특정 개정을 추출하려면 Windows에서이를 수행 할 수 있습니다.
hg cat "<FileToBeExtractedPath>" -r 9 > "<ExtractionPath>"
여기서 9는 개정 번호입니다.
또는 더 나은 :
hg cat "<FileToBeExtractedPath>" -r 9 -o "<ExtractionPath>"
이전 버전을 얻으려고 여기 왔으므로 정확한 명령은 다음과 같습니다.
hg revert -r .~1 <file>
참고 URL : https://stackoverflow.com/questions/2107330/how-to-get-a-specific-version-of-a-file-in-mercurial
'programing tip' 카테고리의 다른 글
Visual Studio에서 제로 참조 코드 목록 가져 오기 (0) | 2020.08.04 |
---|---|
파이썬에서 반복자를 재설정 할 수 있습니까? (0) | 2020.08.04 |
JavaScript로 길게 누르시겠습니까? (0) | 2020.08.03 |
PHP 현재 디렉토리 이름 가져 오기 (0) | 2020.08.03 |
그룹 별 총 팬더 비율 (0) | 2020.08.03 |