문제

SVN 서버에는 config.conf. 같은 장소 (같은 장소에)라는 로컬 버전이 있습니다. 내 로컬 구성이 덮어 쓰거나 체크인하지 않도록하려면 어떻게해야합니까?

내가 여기있는 동안 대답은 디렉토리의 다른가요?

거북이 SVN을 사용하고 있지만 명령 줄 답변은 멋지다.

감사!

이 기본 질문이 전에 묻는다면 죄송합니다 ... 나는 보았지만 찾지 못했습니다.

도움이 되었습니까?

해결책

SVN은 항상 해당 파일이 동일하게 이름을 지정하고 동일한 디렉토리에 붙인 경우 리포지토리의 일부라고 생각합니다. 당신의 옵션입니다

  • 이름을 바꾸십시오 (쉘 스크립트를 작성할 수 있습니다 mv config.conf config.conf.theirs && mv config.conf.mine config.conf 그런 다음 앱을 실행하십시오)
  • 이동. 로컬 사용자 별 디렉토리에서 config.conf를 확인한 다음 기본 config.conf를 사용하는 앱에 논리를 추가 할 수 있습니다.

다른 팁

TortoisesVN 은이 문제의 절반에 대한 좋은 답변을 가지고 있습니다. 커미트를 무시하십시오

이렇게하면 실수로 "로컬 전용"변경 사항을 커밋하지 못하지만 실수로 로컬로 변경된 파일을 업데이트 할 때 문제가 해결되지 않습니다.

이 블로그 게시물을 확인하십시오. 자세한 방법은 다음과 같습니다.

http://blog.baljeetsingh.net/2009/02/tips-tricks-svn-ignore-on-commit.html

  1. SVN이있는 저장소에서 제외 : 무시 (먼저 저장소에서 삭제해야합니다).
  2. Config.conf.default에서 자리 표시 자 값으로 사본을 보관하십시오. 기본 사본을 저장소에 보관할 수 있습니다.
  3. config.conf를 정상적으로 사용 - 전복은 더 이상 보이지 않습니다.

모두에게 감사합니다. 나는 Eoin이 화가 났을 것이라고 생각했지만 실제로는 사실입니다. 버전 제어 파일을 무시할 수 없습니다.

거북이 문서에 따르면

버전의 항목을 무시합니다

버전의 파일과 폴더는 결코 무시할 수 없습니다. 이는 전복의 기능입니다. 실수로 파일을 버전으로 사용한 경우 "비전을"하는 방법에 대한 지침을 위해 "이미 버전이있는 파일 무시"라는 섹션을 읽으십시오.

그리고 SVN 문서에서

내 프로젝트에 모든 개발자가 변경 해야하는 파일이 있지만 해당 지역 모드가 커밋되기를 원하지 않습니다. 파일을 무시하는 'SVN Commit'을 어떻게 만들 수 있습니까?

대답은 다음과 같습니다. 해당 파일을 버전 제어 아래에 넣지 마십시오. 대신 "file.tmpl"과 같은 버전 컨트롤 아래 파일 템플릿을 넣으십시오.

그런 다음 초기 'SVN 체크 아웃'후에 사용자 (또는 빌드 시스템)가 템플릿의 일반 OS 사본을 적절한 파일 이름으로 수행하고 사용자가 사본을 사용자 정의하도록하도록하십시오. 파일은 반전되지 않으므로 결코 커밋되지 않습니다. 원한다면 Parent Directory의 SVN : Property를 무시하여 파일을 추가 할 수 있으므로 '?' 'SVN 상태'명령에서

이것은 정말 성가신 일입니다 ... 나는 그 파일에주의를 기울이고 내 자신의 구성의 백업 사본을 만들어야한다고 생각합니다 (무시할 수 있습니다).

답변 해 주신 모든 분들께 감사드립니다.

config.conf 또는 균일 한 *.conf를 제외하는 로컬 폴더에 SVN-indore : 속성을 추가 할 수 있습니다.

하지만이 파일을 SVN에서 완전히 제외해야 할 것입니다. 즉, 이미 리포지토리에 체크인 된 경우 저장소에서 먼저 삭제해야합니다.

구성 파일과의 경력이있는 경우 전체 트렁크를 전용 트렁크를 사용하는 것이 매우 유용하다는 것을 알았습니다. 왜요? 대부분의 지역 저장소 사본, 하나는 로컬 용도로, 하나는 원격 샤닝 용으로 단순히 로컬 리포지토리 사본을 가질 수 있기 때문입니다.

이와 같이:

/workDir/configuration [/workDir/conf_local에 대한 링크
/workDir/conf_local [로컬 conf를 업데이트하지만 내 설정을 비버 라이드하지 않습니다
/workdir/conf_remote [항상 원격 데이터로 업데이트되므로 변경 사항을 커밋 할 수 있습니다

나는 당신이 어떤 설정을 가지고 있는지 또는 이것이 당신이 사용하고있는 언어에 적용 할 수 있는지 모르겠지만, 이것이 웹 사이트와 PHP에서 수행하는 방식입니다.

먼저, 기본 구성을 생성하는데, 이는 아마도 설정의 90%에 맞지 않는 순진한 값을 가지고 있지만, 어떤 값이 있는지, 그리고 실제로 구성 할 수있는 것에 대한 참조를 제공합니다. 이 스크립트는 일반적으로 'config.default.php'또는 비슷한 정맥에있는 것. 이 스크립트의 맨 아래에는 다음의 조정이 있습니다.

if (file_exists("config.php")) require "config.php";

간단한 논리. 구성 파일에 사용자 재정의가 있으면로드하고 필요한 모든 것을 무시하십시오. 그런 다음 모든 개발 시스템에 이미 설명 된 메소드와 어떤 이유로 든 SVN 체크 아웃을 유지하는 프로덕션 머신을 통해이 사용자 구성 파일을 무시하십시오. 이것은 매우 유연한 설정이며 대부분의 언어/환경에 대해 유사한 절차가 설정 될 수 있습니다.

ScrappyDog가 지적했듯이

커밋 대화 상자에서 다른 목록을 사용 / 만들 수 있습니다.

지원합니다 커미트를 무시하십시오 목록,이 방법 으로이 목록 아래의 파일은 표시되지 않습니다.

당신은 참조 할 수 있습니다 이 블로그 링크 자세한 내용은.

http://blog.baljeetsingh.net/2009/02/tips-tricks-svn-ignore-on-commit.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top