2012-03-21 6 views
2

.hgignore 파일을 만들었지 만 그 전에 프로젝트 구조를 서버에 보냈습니다. 이제 hgignore는 이전에 보낸 파일에 대해서는 작동하지 않습니다. 나는 그 파일들과 dir들을 추적 목록에서 제거하거나 "개인"적인 방법으로 추가해야 할 필요가있는 곳을 읽었지 만, 나는 그것을 어떻게해야 하는지를 알 수 없다. 이 구조의 일부를 다른 위치에 복사하는 sh 스크립트를 작성했기 때문에 문제가 더욱 복잡해졌습니다 (프로젝트는 일부 클라이언트 응용 프로그램과 www 서버로 구성되며 각 hg push 명령 이후에 다른 위치로 복사됩니다). 그래서 일부 파일을 무시하고 싶습니다. (하지만 그 파일이 서버에 존재하기를 원한다면 몇 가지 설정으로 한 번 푸시해야합니다.) 그리고이 무시 된 파일을 내 sh 스크립트와 함께 복사하고 싶습니다. (이 스크립트에서 가장 중요한 것은 제가 사용하고있는 사실입니다. 'hg archive'를 사용하여 복사 할 항목을 처리합니다.) 누군가에게 이해가되기를 바랍니다 :).hgignore가 작동하지 않습니다.

답변

10

.hgignore은 아직 저장소에 추가되지 않은 파일 만 무시합니다. 이미 추가 된 파일 추적을 중지하려면 hg forget을 사용하십시오.

파일을 체크인하고 이후에는 변경 사항을 무시할 수 없습니다. 구성 파일의 경우 템플릿 파일을 체크인하고 실제 로컬 구성 파일을 무시하는 것이 가장 좋습니다. repo를 당기는 누군가가 템플릿 파일을 복사하고 로컬 변경을 수행 할 수 있습니다. 당신은 스크립트를 자동화 할 수 있습니다.

1

기본적으로 Mark Tolonen은 이미 his answer에서 중요한 모든 것을 말했습니다.

난 그냥 그의 대답이 부분에 대한 예를 추가하고 싶었 : 구성 파일의 경우

이, 가장 좋은 방법은 템플릿 파일에서 확인하고 실제 로컬 구성 파일을 무시하는 것이다. repo를 당기는 누군가가 템플릿 파일을 복사하고 로컬 변경을 수행 할 수 있습니다. 당신은 스크립트를 자동화 할 수 있습니다.
이 내 대답은하지만 Visual Studio를위한 how to ignore files in kiln/mercurial using tortoise hg "that are part of the repository"

이 (당신은 분명히 사용하지 않는, 질문에 따라 당신이 요청했습니다 :

나는 구체적인 예와 함께 얼마 전에 비슷한 질문에 대답 지금까지는)하지만 기본 아이디어를 얻는 데 도움이되므로 다른 환경에도 쉽게 적용 할 수 있어야합니다.