여기에 제 시나리오가 있습니다. 처음에 Mercurial repo를 만들 때을 사용하여 모든 * .pl * .sh 및 * .sql 스크립트를 repo에 추가했습니다. 나중에 .hgignore 파일을 사용하여 repo에서 다른 파일을 제외하는 방법을 배웠습니다. 제외 할 파일 중 하나는 스크립트에 의해 생성 된 * .sql 파일 이었기 때문에 기본적으로 스크립트가 실행될 때 끊임없이 변경되는 데이터 파일입니다. 따라서 나는 몇 개정 전에 .hgignore 파일에 명시 적으로 추가했다.Mercurial 무시 된 파일 원인이 이전 버전으로 업데이트하려고 시도 할 때 중단합니다.
오늘,이 .sql 파일이 .hgignore에 추가되기 전에 이전 개정판으로 업데이트하려고합니다. 따라서이 파일에서 분기를 만들 수 있습니다. 나는이 이전 버전으로 작업 디렉토리를 업데이트 할 때, 나는 다음과 같은 오류가 발생합니다 :
a.sql: untracked file differs abort: untracked files in working directory differ from files in requested revision
내가이 문제를 해결 얻을 수있는 한 가지 방법 업데이트하기 전에 파일을 삭제하는 것을 알고 이전 버전으로 수동으로 삭제하거나 hg update --clean --check
을 사용하여
파일이 매번 스크립트에 의해 자동 생성되므로이 특정 경우에 작동 할 수 있습니다. 따라서 현재 그 파일에있는 데이터는 신경 쓰지 않습니다.
그러나 사람들이 일반적으로 자동 생성되지 않는 데이터 파일 집합과 같은 파일 집합을 무시하기로 결정할 때이 상황을 처리하는 안전한 방법은 무엇인지 알아 내려고합니다. 특히 Mercurial이 적극적으로 추적하는 파일의 이전 버전을 볼 수있는 동안 해당 파일 세트에서 최신 내용을 유지하려는 경우 이전 버전으로 돌아가서 무시하도록 표시하십시오.
나는 또한 파일을 백업 할 수 있다고 생각했지만, 이것이 일회용 인 경우 합리적인 해결책이라고 생각합니다. 자주 변경되는 경우 이전 버전의 hg update
을 사용하려면 이전 버전으로 업데이트하기 전에 매번 데이터를 백업하는 것이 매우 지루합니다 (다른 사람이 삭제하지 않을 수있는 확실한 방법이 아닙니다) 레포에서 추적되지 않는 데이터).
도움 주셔서 감사합니다.
솔루션을 찾았습니까? – Eduardo