나는 폴더를 가지고 c:\websites\test
, 그것은 폴더와 것을 더 이상 존재 저장소에서 체크 아웃 된 파일이 포함되어 있습니다. Subversion에서 해당 폴더와 하위 폴더 및 파일 추적을 중지하려면 어떻게해야합니까?
.svn
폴더를 간단하게 삭제할 수는 있지만 많은 레이어에 많은 하위 폴더가 있습니다.
나는 폴더를 가지고 c:\websites\test
, 그것은 폴더와 것을 더 이상 존재 저장소에서 체크 아웃 된 파일이 포함되어 있습니다. Subversion에서 해당 폴더와 하위 폴더 및 파일 추적을 중지하려면 어떻게해야합니까?
.svn
폴더를 간단하게 삭제할 수는 있지만 많은 레이어에 많은 하위 폴더가 있습니다.
답변:
또한 TortoiseSVN을 사용하는 경우 현재 작업중인 사본 위치로 내 보내면 .svn 폴더와 파일이 제거됩니다.
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion
Subversion 1.7에 대한 업데이트 된 답변 :
Subversion 1.7에서 작업 복사본이 광범위하게 개정되었습니다. 작업 복사본의 맨 아래에 .svn 폴더가 하나만 있습니다. 1.7을 사용하는 경우 TortoiseSVN 또는 명령 줄 도구를 사용하지 않고 .svn 폴더와 그 내용을 삭제하는 것이 쉬운 해결책입니다.
svn export를 시도하십시오 .
다음과 같은 작업을 수행 할 수 있어야합니다.
svn export /path/to/old/working/copy /path/to/plain/code
그런 다음 이전 작업 사본을 삭제하십시오.
TortoiseSVN에는 내보내기 기능 도 있으며 동일한 방식으로 작동합니다.
svn: E000002: Can't stat '/.classpath': No such file or directory
Windows를 실행하는 경우 해당 폴더를 검색하면 해당 폴더가 .svn
모두 나열됩니다. Ctrl+ A를 누르면 그것들이 모두 선택되고 delete를 누르면 모든 '성가신'Subversion 것들이 제거됩니다.
임시 위치로 복사 할 필요조차 없다는 것을 알았습니다. 당신은 할 수 있습니다
svn export --force .
.svn 파일은 현장 에서 제거 되어 다른 파일은 그대로 둡니다. 매우 편리하고 혼란이 적습니다.
리눅스에서 서브 쉘없이 .svn
폴더 를 삭제하기 :
find . -name .svn -exec rm -r -f {} +
rm = remove
-r = recursive (folders)
-f = force, avoids a lot of "a your sure you want to delete file XY".
이 답변들 중 어느 것도 나의 상황에 만족하지 못했습니다. Subversion 1.8 .svn
을 사용하고 있으며 첫 번째 폴더 인 루트에 단일 폴더 만있는 작업 복사본이 있습니다. 그러나 작업 복사본에서 일부 분기를 제거하고 싶었습니다.
내가 한 일에 관계없이 '업데이트'를 실행할 때마다 해당 파일을 복원하고 모두 다시 가져옵니다. 컴퓨터에서 리포지토리에서 제거하고 싶지는 않았지만 나머지 작업 복사본을 그대로 유지해야했습니다 (따라서 .svn 폴더를 제거 할 수는 없었습니다).
해결책? svn update --set-depth exclude <dir>
이것은 특정 디렉토리를 제외하는 클라이언트 측 "업데이트"입니다. svnbook.com 의 매뉴얼에서 찾을 수 있습니다 . 간단히 말해서 이것을 다음과 같이 설명합니다.
Subversion 1.6부터는 다른 접근법을 사용할 수 있습니다. 먼저 전체 디렉토리를 확인하십시오. 그런 다음 상관없는 하나의 서브 디렉토리에서 svn update --set-depth exclude를 실행하십시오.
TortoiseSVN의 경우 원하지 않는 폴더를 마우스 오른쪽 버튼으로 클릭하고을 클릭 Update to revision...
한 다음 Exclude
이 스크린 샷과 같이 'Update Depth'를로 설정 하여 동일한 작업을 수행 할 수도 있습니다 .
그것은 나를 위해 잘 작동했습니다 :
find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf
mkdir -p ';echo Hi Johnny;/.svn'
-이 경우 발견의 {} 호출은 여전히하지만 작동합니다
Windows에서는 탐색기 오른쪽 클릭 메뉴에 빠른 링크를 추가 할 수 있습니다. 이 레지스트리 스크립트를 시작하십시오.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"
[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
그러면 오른쪽 클릭 메뉴에 "SVN 폴더 삭제"라는 항목이 추가됩니다. 이 폴더와 모든 하위 폴더의 모든 .svn 폴더가 삭제됩니다.
출처 (독일어) : http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/
svn 데이터없이 해당 폴더의 사본을 작성하기 위해 "svn export"를 사용하거나 해당 폴더를 추가하여 목록을 무시할 수 있습니다.
SVN Cleaner 라는 멋진 오픈 소스 도구 가 Windows 탐색기 컨텍스트 메뉴에 세 가지 옵션을 추가합니다.
Windows 7에서는 프로젝트 폴더를 열고 숨겨진 파일이 활성화 된 경우 ".svn"을 검색하고 찾은 모든 .svn 폴더를 삭제할 수 있습니다.
.svn
디렉토리가 더 이상 흩어져 있지 않습니다. 자세한 내용은 subversion.apache.org/docs/release-notes/1.7.html#wc-ng
답은 놀라 울 정도로 간단 합니다. 폴더를 자체로 내보내십시오 ! TortoiseSVN은이 특별한 경우를 감지하여 작업 사본을 버전없는 버전으로 만들 것인지 묻습니다. yes로 대답하면 제어 디렉토리가 제거되고 버전이없는 일반 디렉토리 트리가 생성됩니다.
가장 쉽고 쉬운 방법
간단한 마법 명령으로 이길 수 있다고 생각하면 실패합니다! SVN은 정말 까다 롭고 항상 Xcode의 새로운 오류 메시지와 함께 돌아옵니다. 조만간 약속 ... 그래서 당신은 그것을 똑똑해야합니다!
아시다시피 Xcode의 일반적인 모범 사례는 왼쪽의 프로젝트 창에서 파일을 삭제하는 것입니다. 당신이 그것을 놓치고 어떻게 든 Finder에서 그것을 삭제하면 문제가 있습니다. 큰 문제! 그러나 잘하면 해결하고 시간을 절약 할 수 있습니다.
먼저 파일 또는 폴더에 대한 SVN 참조를 삭제해야 실제로 삭제할 수 있습니다
휴지통에서 파일 / 폴더를 다시 넣거나 삭제할 때 마지막 단계를 취소 할 수 있다면 ...
터미널로 이동하십시오. 예, 좋은 터미널입니다. 해당 위치로 이동하십시오. 가장 좋은 방법은 cd 를 입력 한 다음 폴더 / 파일을 터미널로 가져 오는 것입니다. 당신은 비슷한 것을 얻을 것입니다
cd / 사용자 / 사용자 이름 / 문서 / Apps_Developing / ...
당신은 당신이 어디에 있는지 확인할 수 있습니다
ls
파일을 나열하는 명령.
그런 다음 SVN 명령으로 svn 참조를 삭제해야합니다.
svn delete --keep-local 파일
SVN 저장소에서 파일이 삭제되지만 Finder에서 수동으로 삭제해야합니다.
다음을 사용하십시오.
svn rm --keep-local <folder name>
폴더와 그 안의 모든 것을 제거합니다.
svn rm --keep-local <folder name>/*
폴더를 유지하지만 폴더 내의 모든 것을 제거하십시오.
다음은 발생하는 예입니다.
~/code/web/sites/testapp $ svn rm --keep-local includes/data/*
D includes/data/json
D includes/data/json/index.html
D includes/data/json/oembed
D includes/data/json/oembed/1.0
D includes/data/json/oembed/1.0/embed1.json
D includes/data/json/oembed/1.0/embed2.json
D includes/data/json/oembed/1.0/embed3.json
Windows 10에서는로 이동 Windows Explorer
한 다음로 이동 View
하여 확인란을 선택해야 View hidden files
합니다.
그런 다음 Windows 탐색기에 SVN이 연결된 폴더로 이동하여 .svn
폴더 / 파일을 삭제 하십시오.
.svn
폴더 를 삭제하는 방법을 알고 있지만 모든 하위 폴더에 대해 묻고 있습니다. 제발 질문을 잘 읽어 보시기 바랍니다.