답변:
Subversion 1.8부터는 svn:global-ignores
비슷 svn:ignore
하지만 재귀 적으로 작동 하는 속성이 있습니다 (따라서 최상위 디렉토리에 설정하십시오)
global-ignores
습니다. ~/.subversion/config
파일에 있지만 SVN 리포지토리의 디렉토리에 설정된 상속 가능한 svn:global-ignores
속성 도 svn:ignore
있습니다. 이러한 다양한 옵션과 비교 방법에 대한 요약을 제공 할 수 있습니까? 어떻게 않는 --recursive
플래그는 그들도 영향을 미칩니 까?
obj
여전히 폴더가 나타남] ( stackoverflow.com/questions/50960188/… ), 내가 살펴볼 수 있도록 도와 줄 수 있습니까?
이것을 할 수 없습니다. Subversion에는 svn:ignore
(비재 귀적) 무시 메커니즘 과 global-ignores
(저장소에 국한되지 않음 ) 두 가지 무시 메커니즘 만 있습니다 .
~ / .subversion / config 또는 / etc / subversion / config 파일에 추가하십시오.
[miscellany]
global-ignores = build dist
예를 들어 폴더 구조 :
Project/
Project/dist/
cd Project
svn propset svn:ignore '*' dist/
svn ci -m "content of dist ignored"
ignore 명령 전에 dist 내용을 svn 삭제하는 것이 좋습니다. 따라서 분기의 경우 dist가 비어 있습니다.
나를 위해 일했고 오늘 테스트했습니다. 여기에 조금 설명하는 페이지가 있습니다.
모든 저장소에서 이러한 파일을 모두 무시 global-ignores
하려면 사용자 별 구성 파일에를 추가 할 수 있습니다 .
Unix 계열 시스템에서이 영역은 사용자의 홈 디렉토리에서 .subversion이라는 디렉토리로 나타납니다. Win32 시스템에서 Subversion은 일반적으로 사용자 프로필 디렉터리의 Application Data 영역 내에 Subversion이라는 폴더를 만듭니다.
구성 옵션 참조
안타깝게도이를 수행 할 수있는 저장소 별 옵션이 없습니다. 기본적으로 사용자 단위 또는 디렉토리 단위이므로 여러 개를 사용하는 svn:ignores
것이 가장 성가신 일입니다.
먼저 작업 복사본의 최상위 폴더로 이동하여 무시할 모든 패턴을 배치해야하는 파일 (예 : .svnignore)을 만들어야합니다 (예 : Android 프로젝트의 경우).
bin
gen
proguard
.classpath
.project
local.properties
Thumbs.db
*.apk
*.ap_
*.class
*.dex
그런 다음 다음 명령을 실행합니다 (작업 복사본의 최상위 폴더에 있어야합니다).
svn propset svn:ignore -R -F .svnignore .
이것은 아직 버전 관리가되지 않는 폴더와 파일에 대해서만 작동합니다. 버전 관리중인 폴더 (또는 파일)도 무시되기 시작하려면 다음 명령을 실행하여 버전 제어에서 제거하십시오.
svn rm --keep-local <path>
이 모든 것을 설명하는이 훌륭한 기사에서이 모든 것을 얻었습니다 : http://superchlorine.com/2013/08/getting-svn-to-ignore-files-and-directories/
Subversion 1.8 이상에서는 현재 저장소에 대해 전역 무시를 설정할 수 있습니다.
svn propset svn:global-ignores build .
svn propset svn:global-ignores dist .
또한 .svnignore라는 폴더를 만들고 조건을 작성할 수 있습니다.
build
dist
한 줄에 하나의 조건을 기억하십시오. build / * 또는 dist / debug 설정은 헛된 것입니다. 그런 다음 다음 명령을 수행하십시오.
svn propset svn:global-ignores -F .svnignore .
파일을 만들고 무시 항목을 추가하십시오.
ingore 목록 :
file1
directory1
file2
etc...
그런 다음 다음 명령을 적용하십시오.
for n in directory; do svn propset svn:ignore -F ignore-list $n; done
디렉토리는 디렉토리의 이름이며 디렉토리 / 하위 디렉토리뿐만 아니라 하위 분류 할 수 있습니다. 또는 *를 사용하여 현재 디렉토리를 기록하십시오.
이것은 bash를 쉘로 사용하고 있다고 가정합니다.
이 일반적인 문제에 대한 해결책이없는 것 같으므로 해결책을 공유하고 싶습니다. 다른 사람들이 이미 분명히 밝혔 듯이 svn:ignore
속성을 사용할 수 있습니다 . 이것은 단일 디렉토리 (따라서 새 디렉토리에는 적용되지 않음)에 global-ignores
적용 되거나 단일 사용자에게 적용되는 것을 사용할 수 있습니다 (저장소에 속하지 않음).
삶을 좀 더 쉽게 만들기 위해 reg 파일을 만들고 Settings.Svn.reg
저장소의 루트에 추가했습니다. 이제 누구나이 regfile을 두 번 클릭하면 설정이 완료됩니다.
REGEDIT4
[HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config\miscellany]
"global-ignores"="obj *.suo *.bak *.pdb *.user *.Cache*"
SVN 저장소 내의 솔루션을 정말 고맙게 생각합니다. 누군가 알고 있다면 공유해 주시겠습니까?