SVN에 파일이있는 기존 폴더를 추가하는 방법은 무엇입니까?


84

버전 제어가없는 폴더를 특정 SVN 위치에 어떻게 추가합니까? 나는 종종 코드 작성을 시작하고 코드 파일이 포함 된 몇 개의 폴더가 있어야 SVN에 추가합니다.

내가 보통하는 일은 :

  1. svn co 는 내 코드를 저장할 새 폴더를 만들려는 상위 디렉토리입니다.
  2. svn mkdir 을 사용하여 코드를 넣을 디렉토리를 만듭니다.
  3. 내 코드를 복사하여 붙여 넣습니다.
  4. svn 커밋 .
  5. 내 현재 작업 코드 디렉토리를 삭제하십시오.
  6. svn co를 사용하여 작업 코드 디렉토리를 다시 만듭니다 .

답변:


134

디렉토리에 코드가 있고 ~/local_dir/myNewApp이를 ' https://svn.host/existing_path/myNewApp ' 아래에두고 싶다고 가정 해 보겠습니다 (일부 바이너리, 공급 업체 라이브러리 등을 무시할 수 있음).

  1. 저장소에 빈 폴더 만들기 svn mkdir https://svn.host/existing_path/myNewApp
  2. 프로젝트의 상위 디렉토리로 이동하십시오. cd ~/local_dir
  3. 로컬 폴더 위에있는 빈 디렉토리를 확인하십시오. 두려워하지 마십시오. 로컬에있는 파일은 삭제되지 않습니다. svn co https://svn.host/existing_path/myNewApp. 폴더의 이름이 리포지토리와 로컬로 다른 경우 추가 인수로 지정해야합니다.
  4. 당신은 볼 수 svn st이제 모든 같은 파일이 표시됩니다 ?그들이 개정 통제하에 현재 사용하지 않는 것을 수단
  5. svn add저장소에 추가 할 파일을 수행 하고 다른 파일을 svn:ignore. 당신은 몇 가지 유용한 옵션을 찾을 수 있습니다 svn help add예를 들어, --parents또는 --depth empty당신은 단지 일부 파일 / 폴더를 추가 선택적으로 할 때.
  6. 약속 svn ci

포인트 5 : bash에서 다음과 같이 작업 디렉토리의 모든 파일 / 디렉터리를 추가 할 수 있습니다. find . -name .svn -prune -o -print0|xargs -0 svn add
Nicolas M

1
svn에 새로운 물건을 넣는 방법 중 가장 좋은 방법입니다.
Colin 't Hart

방법 : "폴더의 이름이 저장소와 로컬로 다른 경우 추가 인수로 지정해야합니다."
Kristof Pal

1
@KristofPal :svn co https://svn.host/existing_path/myNewApp ~/local_dir/localNameOfFolder
qbolec

1
@qbolec에게 감사합니다. "두려워하지 마십시오." 모든 "우수 답변"에 +1합니다. 여전히 두려워 할 수있는 사람들을위한 힌트 : 여전히 두려워한다면 작업을 백업 할 수 있습니다.
Stephan Samuel

55

사용 사례를 올바르게 이해했다면 svn add 를 사용 하여 새 폴더를 version 아래에 두는 것이 좋습니다 . 여기를 참조 하십시오 . 다음은 버전 제어하에 파일이있는 새 폴더를 재귀 적으로 추가합니다 (유효한 작업 복사본 내에있는 경우).

svn add new_folder
svn commit -m "Add New folder to the project"

작업 복사본에 있지 않은 경우 svn checkout으로 만들고 new_folder를 복사 한 다음 위의 단계를 수행하십시오.

또는

svn import 시도 , 여기를 참조 하십시오 ; 다음은 새 폴더를 만들고 파일을 저장소에 업로드합니다.

svn import -m "Import new folder to the project" new_folder \
        http://SVN_REPO/repos/trunk/new_folder

또한 다음 사항에 유의하십시오.

데이터를 가져온 후 원본 트리는 버전 제어를받지 않습니다. 작업을 시작하려면 여전히 트리의 새로운 작업 복사본을 svn 체크 아웃해야합니다.


그러나 상위 폴더는 버전 제어를받지 않습니다. 어떻게 SVN 저장소에 넣어 위치를 알 수 있을까
Siecje

그러면 폴더가 어디에 있는지 확실하지 않습니다. "작업 복사본"에서 작업하지 않습니까?
pmod

폴더가있는 기존 svn 저장소가 있습니다. svn이 아닌 파일과 폴더를 만들고 저장소에 추가하고 싶습니다. 지금 내가하는 방법은 프로젝트를 넣을 위치 위에있는 디렉토리를 체크 아웃하는 것입니다. 그런 다음 체크 아웃 위치에 붙여 넣기를 복사하고 거기에 svn을 추가합니다.
Siecje 2013 년

지금 생각 @Siecje 난 당신이 무슨 뜻인지 이해
pmod에

그래서 체크 아웃을해야합니다. 즉, 파일을 삭제하고 SVN에서 다시 다운로드해야합니까? 그래서 웹 사이트 파일의 경우이 작업을 수행하는 동안 사이트가 잠시 중단되어야합니까?
Siecje 2013 년

9

명령을 사용하지 않습니다. GUI를 사용하여이 작업을 수행 할 수 있어야합니다.

  • 내 문서 폴더의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN> Repo-browser를 선택합니다.
  • 입력 에 http : // 전복 ... 경로를 선택 OK로 (서브 버전 서버 / 디렉토리로 URL 경로는 당신에 저장됩니다)
  • Repo에서 루트 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 폴더 추가를 선택 합니다 . 프로젝트 이름을 지정하고 만듭니다.
  • Repo 브라우저에서 프로젝트 폴더를 마우스 오른쪽 버튼으로 클릭하고 체크 아웃을 선택 합니다. Checkout 디렉토리가 Visual Studio\Projects\{your project}폴더가됩니다. 확인을 선택하십시오.
  • 폴더가 비어 있지 않다는 경고가 표시됩니다. 해당 폴더로 체크 아웃 / 내보내기하려면 라고 말 하세요. 프로젝트 파일을 덮어 쓰지 않습니다.
  • 프로젝트 폴더를 엽니 다. 아직 Subversion에 추가되지 않은 VS 프로젝트와 관련된 폴더에 물음표가 표시됩니다. Ctrl + 클릭을 사용하여 해당 폴더를 선택한 다음 선택한 항목 중 하나를 마우스 오른쪽 버튼으로 클릭하고 TortoiseSVN> 추가를 선택합니다.
  • 프롬프트에서 확인을 선택하십시오.
  • 파일이 추가되어야합니다. 추가 완료!에서 확인을 선택하십시오. 대화
  • 폴더의 빈 영역을 마우스 오른쪽 버튼으로 클릭하고 새로 고침을 선택합니다. 이제 폴더 / 파일에 "+"아이콘이 표시됩니다.
  • 폴더의 빈 영역을 다시 한 번 마우스 오른쪽 버튼으로 클릭하고 SVN Commit을 선택합니다.
  • 커밋중인 내용에 대한 메시지를 추가하고 확인을 클릭합니다.

1

의도가 SVN에 로컬 / 작업 복사본을 추가하는 것이라면 다음과 같은 방식으로 수행했습니다.

참고 : 저는 TortoiseSVN 클라이언트를 사용하고이 단계에서는 TortoiseSVN 클라이언트가 이미 설치되어 있다고 가정합니다.

  1. 내 로컬에 프로젝트 (Test-4.2.2)가 있습니다. SVN 저장소에 업로드 / 추가하고 싶습니다.
  2. TortoiseSVN 저장소 브라우저를 사용하여 빈 디렉터리 "Test-4.2.2"를 만들었습니다.
  3. 내 로컬에서 기존 "Test-4.2.2"디렉토리의 이름을 "Test-4.2.2.1"(임시)로 변경했습니다.
  4. SVN에서 로컬로 빈 "Test-4.2.2"를 확인합니다.
  5. 4.2.2.1 아래의 모든 하위 디렉터리를이 체크 아웃 디렉터리 4.2.2로 복사합니다.
  6. 이제 "Test-4.2.2"를 마우스 오른쪽 버튼으로 클릭하고 커밋합니다.
  7. 임시 폴더 "Test-4.2.2.1"을 삭제합니다.

1

Windows 7에서는 다음과 같이했습니다.

  1. SVN 및 Tortoise SVN을 설치 했습니까? 그렇지 않은 경우 Google에서 지금 실행하세요.
  2. 다른 저장소 (저장소의 약자)가있을 수있는 SVN 폴더로 이동합니다 (또는 처음부터 새로 만드는 경우 위치 C 드라이브, D 드라이브 등 또는 네트워크 경로 선택).
  3. 새 저장소를 저장할 새 폴더를 만듭니다. 프로젝트 제목과 같은 이름으로 부르세요.
  4. 폴더를 마우스 오른쪽 버튼으로 클릭하고 Tortoise SVN-> Create Repository here를 선택합니다.
  5. 폴더 구조를 만들려면 예라고 말하세요.
  6. 확인을 클릭하십시오. 새 폴더 / 저장소 옆에 "웨이브"모양의 새 아이콘이 표시되어야합니다.
  7. 새 저장소를 마우스 오른쪽 버튼으로 클릭하고 SVN Repo 브라우저를 선택하십시오.
  8. '트렁크'를 마우스 오른쪽 버튼으로 클릭
  9. 폴더 추가 ...를 선택하고 개발중인 프로젝트의 폴더 구조를 가리 킵니다.
  10. 확인을 클릭하면 SVN이 폴더 구조를 추가합니다. 잠시만 기다려주십시오! SVN이 충돌 / 정지 된 것 같습니다. 걱정하지 마세요. 일을하고 있습니다.

끝난!


0

3 단계 :

  • "Repo Browser"를 엽니 다 (Yr 상위 폴더의 링크 사용).
  • "폴더 추가"를 마우스 오른쪽 버튼으로 클릭합니다.
  • 폴더를 찾습니다.

여기에 이미지 설명 입력


이런 식으로 존재하지 않는 폴더는 추가 할 수 없습니다. "폴더 추가"는 기존 폴더를 가리킬 수 있도록 탐색기 창을 제공 한 다음 Subversion에 추가 할 수 있도록 커밋 창을 제공합니다. 로컬 측에 새 폴더를 생성하기위한 것이 아닙니다. 여전히 수동으로 수행하고 거기에 채워야합니다. 그러면 내용을 Subversion에 커밋하는 데 사용할 수 있습니다. 이것은 이야기의 절반만을 제공합니다.
vapcguy

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.