SlideShare a Scribd company logo
1 of 43
Subversion

기획부장 김은석
http://kimeunseok.com
버전관리 시스템의 필요성




                   프로젝트
        a.Cpp 수정          a.Cpp, b.Cpp 수정
  개발자                                       개발자
버전관리 시스템의 필요성




                   프로젝트
        a.Cpp 수정          a.Cpp, b.Cpp 수정
  개발자                                       개발자
버전관리 시스템의 필요성




                   프로젝트
        a.Cpp 수정          a.Cpp 수정
  개발자                                개발자
버전관리 시스템의 필요성




                   프로젝트
        a.Cpp 수정          a.Cpp 수정
  개발자                                개발자
버전관리 시스템의 필요성


    SVN을 써보자!




                   프로젝트
                    >_ < !!
  개발자                                   개발자




                              a.Cpp , b.Cpp 수정
        a.Cpp 수정




                    SVN
SVN을 사용하니?!

ㆍ 개발 버전과 릴리즈 버전을 섞이지 않고 쉽게 관리 할 수 있구나!

ㆍ 소스를 잘 못 수정 했더라도 기록이 남고 되돌리기가 쉽구나!

ㆍ 수정, 추가, 삭제 등의 기록이 모두 남고 변경 사항을 추적하기 쉽구나!
 (누가 일을 안하는지는 덤으로!!)

ㆍ 우리가(개발자들) 따로 따로 백업을 하지 않아도 되구나!


  이거슨 마치 신세계!!




개발자
멤버십에서 SVN은 어떻게 사용할까?




        nForge에 접속!
      그리고 회원가입은 필수!




개발자
멤버십에서 SVN은 어떻게 사용할까?




                일단 가입하고 가입 확인
                 메일을 반드시 확인!




                                개발자
멤버십에서 SVN은 어떻게 사용할까?




                 가입확인 메일을 확인 후
                   프로젝트 생성!
                기획부장 과제가 랭킹1위ㅋ
                       ㅋ




                                 개발자
멤버십에서 SVN은 어떻게 사용할까?




              프로젝트 정보 입력 후
              SVN으로 체크 후 확인~!
              교육부장 승인 후 본격적인 사용가능!




                                 개발자
멤버십에서 SVN은 어떻게 사용할까?




              등록 끝!
              이제 사용을 해야할텐데…
              어떻게 연동하지..?




                              개발자
Eclipse와 연동해보자!!




                   우선 플러그인을
                   설치해야겠지?




                              개발자
Eclipse와 연동해보자!!




       http://subclipse.tigris.org/update_1.6.x   우선 플러그인을
                                                  설치해야겠지?




                                                             개발자
Eclipse와 연동해보자!!




                     Subclipse 체크 후
                   Next 계속하면 설치 끝!




                                  개발자
Eclipse와 연동해보자!!




                   프로젝트를 만들어보자!




                              개발자
Eclipse와 연동해보자!!




                   SVN선택 후 Next!




                                   개발자
Eclipse와 연동해보자!!




                   새로운 저장소의 위치
                    를 정해줘야겠지?




                                 개발자
Eclipse와 연동해보자!!




                    저장소의 주소는
                   프로젝트 홈의 코드에
                        서
                    확인할 수 있어!




                                 개발자
Eclipse와 연동해보자!!




                   저장소 Url을 입력한 뒤
                     Next를 눌러줘!




                                    개발자
Eclipse와 연동해보자!!




                   원하는 폴더를 고르고~




                              개발자
Eclipse와 연동해보자!!




                   Finish!
                   아참! 아이디와 암호를
                   물어보는데 그건 자신의
                   nForge 아디와 암호를 입력하
                   면 되!




                                        개발자
Eclipse와 연동해보자!!
Eclipse와 연동해보자!!
VS도 연동해보자!!

솔직히 유료버전이 더 간지긴 한데…돈 없으니까!
무료버전으로 설명한다! (플러그인이 다름)

아무튼 다운로드는 http://ankhsvn.open.collab.net/ 에서 한다!

회원가입 해야하는데 영어다…
근데 솔찌 그정도는 혼자서 하자…

AnkhSvn.msi 파일을 받았을텐데 받은 후엔 그냥 더블 크리리리리릭하면 된다.



                                                   VS도 당연히 플러그인
                                                         이
                                                     필요하다 제군!




                                                                  개발자
VS도 연동해보자!!




               이런 창은 무조건
              동의 후에 Install이다!
              그리고 Finish나오면
                  클릭!




                                 개발자
VS도 연동해보자!!




              설치 후에 VS를 키면
              View창에 변화가 보인
                    다!




                              개발자
VS도 연동해보자!!




              Repository Explorer
              클릭해서 지구+클릭!




                                    개발자
VS도 연동해보자!!




              아까 그 Url 입력하고
                  Ok하자!




                              개발자
VS도 연동해보자!!




              아디/암호도
              아까 그거…




                       개발자
VS도 연동해보자!!




                   이제… 슬슬 감이 오지?
                그냥 원하는 폴더(생성이나 선택)
              골라서 더블클릭하고, 각 파일도 더블클
                          릭
              하면 다 열림. 고치고 세이브하면 자동으
                          로
                수정됨. 동시에 처리하는 것도 됨
                        짱 좋음!




                                       개발자
VS도 연동해보자!!




                   이제… 슬슬 감이 오지?
                그냥 원하는 폴더(생성이나 선택)
              골라서 더블클릭하고, 각 파일도 더블클
                          릭
              하면 다 열림. 고치고 세이브하면 자동으
                          로
                수정됨. 동시에 처리하는 것도 됨
                        짱 좋음!




                                       개발자
Eclipse와 연동해보자!!
SVN은 대충 쓰는거 아니다!

ㆍRepository - 프로젝트 파일 및 변경 정보가 저장되는 장소
ㆍImport - 빈 Repository에 맨 처음 파일들을 채우는 것
ㆍCheckout - Repository에서 프로젝트 관련 파일들을 받아 오는 것
ㆍCommit - Checkout한 파일의 수정사항을 갱신
ㆍRevision - Commit 할 때 마다 카운트 되는 번호
ㆍUpdate - Checkout한 파일들을 최신의 것으로 갱신
ㆍExport - 버전관리 파일들을 뺀 순수 파일만 빼내는 것


                             용어 정도는 걍 외워라…



                                             개발자
SVN은 대충 쓰는거 아니다!

ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다.
      즉 Revision 번호 그자체에 해당한다.

ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다.
           Backup 해두는 정도로 생각하면 될듯하다.

ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된
다.

                                 이건 중요하다!
                              어떤 폴더를 어떻게 쓰는지
                                     는
                                  알아야겠지?

                                               개발자
SVN은 대충 쓰는거 아니다!

ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다.
      즉 Revision 번호 그자체에 해당한다.

ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다.
           Backup 해두는 정도로 생각하면 될듯하다.

ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된
다.

                                 이건 중요하다!
                              어떤 폴더를 어떻게 쓰는지
                                     는
                                  알아야겠지?

                                               개발자
Eclipse와 연동해보자!!
진짜 이젠 이해할 수 있겠지?


 Tag

       1.0


 Tag           Branch                    Trunk
       2.0               따로 개발 해야하는군!



              버전별로 달리!
        3.0
 Tag
                                그림으로 설명하면…



                                                 개발자
잠깐…CVS랑 뭐가 다름?



          나보다 잘난게   ????
           없는데?




    CVS                    SVN
잠깐…CVS랑 뭐가 다름?

                    너님 스크립트제공
                        함?


               너님 리비전
               단위가 뭐임?
         ㅈㅅ


              너님 속도빠름?
         ㅈㅅ
                             SVN
              너님 디렉토리도
   CVS
              버전별 관리됨?
         ㅈㅅ


                 너님 동시커밋됨?
잠깐…CVS랑 뭐가 다름?

ㆍ 커밋 단위가 파일이 아닌 체인지셋입니다.

ㆍ CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간이 CVS보다 21배 빠름


ㆍ 파일 이름 변경, 이동, 디렉토리 버전 관리도 지원.


ㆍ 원자적 커밋. CVS에서는 여럿이 동시 커밋할 때 종종 충돌이 발생하는데 Subversion에서는 더 이상 그런 일이 없어졌습니다.


ㆍ 양방향 데이터 전송으로 네트워크 소통량 최소화합니다.


ㆍ 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다.


ㆍ 저장소/프로젝트별 환경 설정 가능


ㆍ 확장성을 염두에 둔 구조, 깔끔한 소스


ㆍ 커밋 통지 메일 스크립트 기본 제공. CVS에서라면 스크립트를 따로 구해서 써야 하는 번거로움이 있었지만,
 Subversion은 기본 제공 스크립트를 이용해서 훨씬 손쉽게 설정이 가능합니다.
결론을 이야기하자면…




 CVS   <   SVN
                 <=   Git
진짜 이젠꼭 쓰는걸로~ 수 있겠지?
   SVN은 이해할




 Tag

       1.0


 Tag           Branch                    Trunk
       2.0               따로 개발 해야하는군!



              버전별로 달리!
        3.0
 Tag
                                그림으로 설명하면…



                                                 개발자

More Related Content

What's hot

How to use SVN in project
How to use SVN in projectHow to use SVN in project
How to use SVN in projectKang-jin Cho
 
젠킨스 설치 및 설정
젠킨스 설치 및 설정젠킨스 설치 및 설정
젠킨스 설치 및 설정중선 곽
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴은아 정
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)Ildoo Kim
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)Ildoo Kim
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Juwon Kim
 
소셜인어스 SVN 도움말
소셜인어스 SVN 도움말소셜인어스 SVN 도움말
소셜인어스 SVN 도움말Insub Lee
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기용호 최
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화Jaehoon Choi
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교Junyoung Lee
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발지수 윤
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Hyunjun Roh
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법MinGeun Park
 
실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기Haze Lee
 
CLT 소스품질 Jenkins 사용가이드
CLT 소스품질 Jenkins 사용가이드CLT 소스품질 Jenkins 사용가이드
CLT 소스품질 Jenkins 사용가이드jSoboro
 

What's hot (20)

How to use SVN in project
How to use SVN in projectHow to use SVN in project
How to use SVN in project
 
젠킨스 설치 및 설정
젠킨스 설치 및 설정젠킨스 설치 및 설정
젠킨스 설치 및 설정
 
svn
svnsvn
svn
 
140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴140109 팀프로젝트 협업툴
140109 팀프로젝트 협업툴
 
[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)[17.01.19] docker introduction (Korean Version)
[17.01.19] docker introduction (Korean Version)
 
[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
Git workflow
Git workflowGit workflow
Git workflow
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
 
소셜인어스 SVN 도움말
소셜인어스 SVN 도움말소셜인어스 SVN 도움말
소셜인어스 SVN 도움말
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기오래된 프로젝트에 Jenkins 적용해보기
오래된 프로젝트에 Jenkins 적용해보기
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
Github 사용법
Github 사용법Github 사용법
Github 사용법
 
웹 IDE 비교
웹 IDE 비교웹 IDE 비교
웹 IDE 비교
 
Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발Jenkins를 활용한 javascript 개발
Jenkins를 활용한 javascript 개발
 
Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)Git 분산버전관리 시스템(1)
Git 분산버전관리 시스템(1)
 
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
[NHN_NEXT] 게임 휴먼 프로젝트 CI + GitHub 세팅 방법
 
실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기
 
Jenkins
JenkinsJenkins
Jenkins
 
CLT 소스품질 Jenkins 사용가이드
CLT 소스품질 Jenkins 사용가이드CLT 소스품질 Jenkins 사용가이드
CLT 소스품질 Jenkins 사용가이드
 

Viewers also liked

Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2sangyun han
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)DONGSU KIM
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1sangyun han
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알Mirinae, Inc.
 
Spring환경설정하기
Spring환경설정하기Spring환경설정하기
Spring환경설정하기ChangJoo Park
 
메이븐파헤치기(김우용)
메이븐파헤치기(김우용)메이븐파헤치기(김우용)
메이븐파헤치기(김우용)우용 김
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅Yoonsung Jung
 
메이븐 기본 이해
메이븐 기본 이해메이븐 기본 이해
메이븐 기본 이해중선 곽
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)MinGeun Park
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함Ji-Woong Choi
 

Viewers also liked (11)

Git & Github Seminar-2
Git & Github Seminar-2Git & Github Seminar-2
Git & Github Seminar-2
 
CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)CI in the Mobile World (한글번역)
CI in the Mobile World (한글번역)
 
Git & Github Seminar-1
Git & Github Seminar-1Git & Github Seminar-1
Git & Github Seminar-1
 
Maven
MavenMaven
Maven
 
Eclipse git 튜토리알
Eclipse git 튜토리알Eclipse git 튜토리알
Eclipse git 튜토리알
 
Spring환경설정하기
Spring환경설정하기Spring환경설정하기
Spring환경설정하기
 
메이븐파헤치기(김우용)
메이븐파헤치기(김우용)메이븐파헤치기(김우용)
메이븐파헤치기(김우용)
 
자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅자바 웹프로젝트 개발환경 셋팅
자바 웹프로젝트 개발환경 셋팅
 
메이븐 기본 이해
메이븐 기본 이해메이븐 기본 이해
메이븐 기본 이해
 
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
[140315 박민근] 젠킨스를 이용한 자동빌드 시스템 구축하기(ci)
 
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
[오픈소스컨설팅]Subversion vs git - 참을 수 없는 간단함
 

Similar to Subversion

Bon voyage Docker_Kubernetes
Bon voyage Docker_KubernetesBon voyage Docker_Kubernetes
Bon voyage Docker_Kubernetesssuseraada82
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐라한사 아
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법HanBum Seo
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화DONGSU KIM
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기SungChanHwang
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017devCAT Studio, NEXON
 
09.explaining the visual basic concept, introduction to smart check and confi...
09.explaining the visual basic concept, introduction to smart check and confi...09.explaining the visual basic concept, introduction to smart check and confi...
09.explaining the visual basic concept, introduction to smart check and confi...re4lfl0w
 
Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년Taehyun Kim
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기changehee lee
 
Opensource java library deploy public repository
Opensource java library deploy public repositoryOpensource java library deploy public repository
Opensource java library deploy public repositoryKyungHo Jung
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Kyuhyun Byun
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기Soojin Ro
 
GIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGGIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGJung Han
 
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정양재동 코드랩
 

Similar to Subversion (20)

Bon voyage Docker_Kubernetes
Bon voyage Docker_KubernetesBon voyage Docker_Kubernetes
Bon voyage Docker_Kubernetes
 
구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐구글앱엔진+스프링+스프링datajpa+메이븐
구글앱엔진+스프링+스프링datajpa+메이븐
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
Eclipse를 이용한 android_open_cv_개발_환경_구축_방법
 
DevOps와 자동화
DevOps와 자동화DevOps와 자동화
DevOps와 자동화
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
 
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
[AWS Community Day 2021] AWS와 함께하는 무중단 배포 파이프라인 개선기
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
 
09.explaining the visual basic concept, introduction to smart check and confi...
09.explaining the visual basic concept, introduction to smart check and confi...09.explaining the visual basic concept, introduction to smart check and confi...
09.explaining the visual basic concept, introduction to smart check and confi...
 
Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년Ndc17 DevOps? DevOps개발자? 북미에서의 6년
Ndc17 DevOps? DevOps개발자? 북미에서의 6년
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기
 
Opensource java library deploy public repository
Opensource java library deploy public repositoryOpensource java library deploy public repository
Opensource java library deploy public repository
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
GIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNGGIT_GETCHA_HANJUNG
GIT_GETCHA_HANJUNG
 
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정
[W3C HTML5 2017] Docker & DevOps에서 Serverless & NoOps로의 여정
 

More from 은석 김은석 (6)

Hanoi2
Hanoi2Hanoi2
Hanoi2
 
Node week1
Node week1Node week1
Node week1
 
How to build a web server on Linux.
How to build a web server on Linux.How to build a web server on Linux.
How to build a web server on Linux.
 
Kinect Lab Pt.
Kinect Lab Pt.Kinect Lab Pt.
Kinect Lab Pt.
 
Kinect
KinectKinect
Kinect
 
Kinect
KinectKinect
Kinect
 

Subversion

  • 2. 버전관리 시스템의 필요성 프로젝트 a.Cpp 수정 a.Cpp, b.Cpp 수정 개발자 개발자
  • 3. 버전관리 시스템의 필요성 프로젝트 a.Cpp 수정 a.Cpp, b.Cpp 수정 개발자 개발자
  • 4. 버전관리 시스템의 필요성 프로젝트 a.Cpp 수정 a.Cpp 수정 개발자 개발자
  • 5. 버전관리 시스템의 필요성 프로젝트 a.Cpp 수정 a.Cpp 수정 개발자 개발자
  • 6. 버전관리 시스템의 필요성 SVN을 써보자! 프로젝트 >_ < !! 개발자 개발자 a.Cpp , b.Cpp 수정 a.Cpp 수정 SVN
  • 7. SVN을 사용하니?! ㆍ 개발 버전과 릴리즈 버전을 섞이지 않고 쉽게 관리 할 수 있구나! ㆍ 소스를 잘 못 수정 했더라도 기록이 남고 되돌리기가 쉽구나! ㆍ 수정, 추가, 삭제 등의 기록이 모두 남고 변경 사항을 추적하기 쉽구나! (누가 일을 안하는지는 덤으로!!) ㆍ 우리가(개발자들) 따로 따로 백업을 하지 않아도 되구나! 이거슨 마치 신세계!! 개발자
  • 8. 멤버십에서 SVN은 어떻게 사용할까? nForge에 접속! 그리고 회원가입은 필수! 개발자
  • 9. 멤버십에서 SVN은 어떻게 사용할까? 일단 가입하고 가입 확인 메일을 반드시 확인! 개발자
  • 10. 멤버십에서 SVN은 어떻게 사용할까? 가입확인 메일을 확인 후 프로젝트 생성! 기획부장 과제가 랭킹1위ㅋ ㅋ 개발자
  • 11. 멤버십에서 SVN은 어떻게 사용할까? 프로젝트 정보 입력 후 SVN으로 체크 후 확인~! 교육부장 승인 후 본격적인 사용가능! 개발자
  • 12. 멤버십에서 SVN은 어떻게 사용할까? 등록 끝! 이제 사용을 해야할텐데… 어떻게 연동하지..? 개발자
  • 13. Eclipse와 연동해보자!! 우선 플러그인을 설치해야겠지? 개발자
  • 14. Eclipse와 연동해보자!! http://subclipse.tigris.org/update_1.6.x 우선 플러그인을 설치해야겠지? 개발자
  • 15. Eclipse와 연동해보자!! Subclipse 체크 후 Next 계속하면 설치 끝! 개발자
  • 16. Eclipse와 연동해보자!! 프로젝트를 만들어보자! 개발자
  • 17. Eclipse와 연동해보자!! SVN선택 후 Next! 개발자
  • 18. Eclipse와 연동해보자!! 새로운 저장소의 위치 를 정해줘야겠지? 개발자
  • 19. Eclipse와 연동해보자!! 저장소의 주소는 프로젝트 홈의 코드에 서 확인할 수 있어! 개발자
  • 20. Eclipse와 연동해보자!! 저장소 Url을 입력한 뒤 Next를 눌러줘! 개발자
  • 21. Eclipse와 연동해보자!! 원하는 폴더를 고르고~ 개발자
  • 22. Eclipse와 연동해보자!! Finish! 아참! 아이디와 암호를 물어보는데 그건 자신의 nForge 아디와 암호를 입력하 면 되! 개발자
  • 25. VS도 연동해보자!! 솔직히 유료버전이 더 간지긴 한데…돈 없으니까! 무료버전으로 설명한다! (플러그인이 다름) 아무튼 다운로드는 http://ankhsvn.open.collab.net/ 에서 한다! 회원가입 해야하는데 영어다… 근데 솔찌 그정도는 혼자서 하자… AnkhSvn.msi 파일을 받았을텐데 받은 후엔 그냥 더블 크리리리리릭하면 된다. VS도 당연히 플러그인 이 필요하다 제군! 개발자
  • 26. VS도 연동해보자!! 이런 창은 무조건 동의 후에 Install이다! 그리고 Finish나오면 클릭! 개발자
  • 27. VS도 연동해보자!! 설치 후에 VS를 키면 View창에 변화가 보인 다! 개발자
  • 28. VS도 연동해보자!! Repository Explorer 클릭해서 지구+클릭! 개발자
  • 29. VS도 연동해보자!! 아까 그 Url 입력하고 Ok하자! 개발자
  • 30. VS도 연동해보자!! 아디/암호도 아까 그거… 개발자
  • 31. VS도 연동해보자!! 이제… 슬슬 감이 오지? 그냥 원하는 폴더(생성이나 선택) 골라서 더블클릭하고, 각 파일도 더블클 릭 하면 다 열림. 고치고 세이브하면 자동으 로 수정됨. 동시에 처리하는 것도 됨 짱 좋음! 개발자
  • 32. VS도 연동해보자!! 이제… 슬슬 감이 오지? 그냥 원하는 폴더(생성이나 선택) 골라서 더블클릭하고, 각 파일도 더블클 릭 하면 다 열림. 고치고 세이브하면 자동으 로 수정됨. 동시에 처리하는 것도 됨 짱 좋음! 개발자
  • 34. SVN은 대충 쓰는거 아니다! ㆍRepository - 프로젝트 파일 및 변경 정보가 저장되는 장소 ㆍImport - 빈 Repository에 맨 처음 파일들을 채우는 것 ㆍCheckout - Repository에서 프로젝트 관련 파일들을 받아 오는 것 ㆍCommit - Checkout한 파일의 수정사항을 갱신 ㆍRevision - Commit 할 때 마다 카운트 되는 번호 ㆍUpdate - Checkout한 파일들을 최신의 것으로 갱신 ㆍExport - 버전관리 파일들을 뺀 순수 파일만 빼내는 것 용어 정도는 걍 외워라… 개발자
  • 35. SVN은 대충 쓰는거 아니다! ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다. 즉 Revision 번호 그자체에 해당한다. ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다. Backup 해두는 정도로 생각하면 될듯하다. ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된 다. 이건 중요하다! 어떤 폴더를 어떻게 쓰는지 는 알아야겠지? 개발자
  • 36. SVN은 대충 쓰는거 아니다! ㆍTag - 개념적으로 특정 시점에서 프로젝트의 스냅샷을 찍어두는 것이다. 즉 Revision 번호 그자체에 해당한다. ㆍ Branch - 브런치 생성은 복사와 같은 개념이다. 물론 Tag도 비슷하다. Backup 해두는 정도로 생각하면 될듯하다. ㆍ Trunk - 프로젝트에서 가장 중심이 되는 디렉토리로 소스와 파일들이 포함된 다. 이건 중요하다! 어떤 폴더를 어떻게 쓰는지 는 알아야겠지? 개발자
  • 38. 진짜 이젠 이해할 수 있겠지? Tag 1.0 Tag Branch Trunk 2.0 따로 개발 해야하는군! 버전별로 달리! 3.0 Tag 그림으로 설명하면… 개발자
  • 39. 잠깐…CVS랑 뭐가 다름? 나보다 잘난게 ???? 없는데? CVS SVN
  • 40. 잠깐…CVS랑 뭐가 다름? 너님 스크립트제공 함? 너님 리비전 단위가 뭐임? ㅈㅅ 너님 속도빠름? ㅈㅅ SVN 너님 디렉토리도 CVS 버전별 관리됨? ㅈㅅ 너님 동시커밋됨?
  • 41. 잠깐…CVS랑 뭐가 다름? ㆍ 커밋 단위가 파일이 아닌 체인지셋입니다. ㆍ CVS에 비해 엄청나게 빠른 업데이트/브랜칭/태깅 시간이 CVS보다 21배 빠름 ㆍ 파일 이름 변경, 이동, 디렉토리 버전 관리도 지원. ㆍ 원자적 커밋. CVS에서는 여럿이 동시 커밋할 때 종종 충돌이 발생하는데 Subversion에서는 더 이상 그런 일이 없어졌습니다. ㆍ 양방향 데이터 전송으로 네트워크 소통량 최소화합니다. ㆍ 트리별, 파일별 접근 제어 리스트. 저장소 쓰기 접근을 가진 개발자라도 아무 소스나 수정하지 못하게 조절할 수 있습니다. ㆍ 저장소/프로젝트별 환경 설정 가능 ㆍ 확장성을 염두에 둔 구조, 깔끔한 소스 ㆍ 커밋 통지 메일 스크립트 기본 제공. CVS에서라면 스크립트를 따로 구해서 써야 하는 번거로움이 있었지만, Subversion은 기본 제공 스크립트를 이용해서 훨씬 손쉽게 설정이 가능합니다.
  • 43. 진짜 이젠꼭 쓰는걸로~ 수 있겠지? SVN은 이해할 Tag 1.0 Tag Branch Trunk 2.0 따로 개발 해야하는군! 버전별로 달리! 3.0 Tag 그림으로 설명하면… 개발자