SlideShare a Scribd company logo
1 of 9
SVN 에서 GIT 으로 이주하도록
설득하기 거의 다 왔다니깐
요..;;;
야 이거
잘하는 짓이냐
GIT이 좋은건 써본사람만 안다.
이것 참 좋은데 딱히 설명하기가 힘들다.
자 그러면 GIT이 왜 좋은지에 대한 주장을
뒷받침해 보자
주의 : 이 슬라리드는 튜토리얼이 아니니 시간낭비가 될 수도 있음
GIT은 매우 빠르다. 이 장점 만으로도 개발 속도가 빨라지는 것을 체감할 수 있다. 기본적으로 소스코드 형상 기억을 위한 정
보 DB가 차지하는 용량이 적기 때문이다. 특히 백만 라인 단위로 넘어가는 덩치 큰 코드에서 그 차이는 극명해 진다. branch
가 많아질 수록 변경된 내용만 저장하므로 공간(스토리지) 절약이 뛰어나다. SVN은 모든 branch를 전부 checkout 해야 하며
branch 갯수 만큼 공간을 차지한다. Subversion과 Subversion 비슷한 놈들과 Git의 가장 큰 차이점은 데이터를 다루는 방법
에 있다. 큰 틀에서 봤을 때 VCS 시스템 대부분은 관리하는 정보가 파일들의 목록이다. CVS, Subversion, Perforce, Bazaar
등의 시스템은 각 파일의 변화를 시간순으로 관리하면서 파일들의 집합을 관리한다. Git은 데이터를 파일 시스템 스냅샷으로
취급하고 크기가 아주 작다. Git은 커밋하거나 프로젝트의 상태를 저장할 때마다 파일이 존재하는 그 순간을 중요하게 여긴
다. 파일이 달라지지 않았으면 Git은 성능을 위해서 파일을 새로 저장하지 않는다. 단지 이전 상태의 파일에 대한 링크만 저장
한다. Git은 데이터를 스냅샷의 스트림처럼 취급한다.
다 필요 없고 기업에서 가장 큰 모티브가 되는 건 돈이다
개발 속도를 향상 시킬 수 있다는 사실을 강조하며 의사 결정권자의 관심을 사로
잡아라
실제로 빌드 서버에 브랜치는 늘어나는데 SSD 하나 구매하는데 정당성 확보하
기 쉽지 않은 게 회사이다 (어디 회삿돈 쓰는게 쉬운가)
비용 절감
정신 건강
로컬 저장소에서 혼자 놀 수 있다.
나만의 공간에서 commit 하고 roll back 하고 log 정리하고 마음대로 이력 관리를
할 수 있다
SVN에서 이력 관리를 위해 항상 서버에 코드를 동기화 시켜야 하는 것과는 엄청난
차이다.
왜 commit을 하고 또 push를 해야 하냐고 묻는 동료가 있다면, 이상한 커밋 쌓는
다고 팀장한테 쪼인트 까였던 기억력을 되살려주자
생산성
branch와 merge에 시간 낭비를 하다 지친 동
료들에게
tag 등을 이용해 손쉽게 브랜치와 커밋을 넘나
들고 submodule(외부 라이브러리) 마저 버전
별로 한번에 넘나 드는 것을 보여주자
하지만 핵심은 생산성이 올라간 만큼 야근을 줄
일 수 있다는 헛된 희망을 심어주는 것을 잊지
말자
신혼이거나 아이가 있는 개발자들을 설득하기
에 좋다
판교의 야경은 언제
나 아름답다
무한한 가능성
이미 전 세계적인 수많은 선도적 기업들과 오픈 소스 프로젝트들이 이미 GIT으
로 갈아 탔다
북미로 부터 시작된 돌풍은 남미, 유럽, 심지어 아프리카와 인도를 거쳐 이제야
동아시아에 GIT이 전파되기 시작했다
무한한 가능성이 느껴지지 않는가?
세계화에 발맞춰 글로벌 인재를 향한 필수 조건임을 강조하고 태평양 건너 산호
세 어딘가에 당신의 일자리가 있을지도 모른다고 핑크빛 환상을 심어주자
롤 모델
리눅스 커널을 관리할 때 사용하던 상용 툴인
BitKeeper 와의 관계가 틀어져서 리누스 토발
즈의 주도로 GIT이 만들어졌다는 사실을 아는
사람이 의외로 없다.
그의 네임 벨류 만으로도 그를 선망하는 순진한
초급 개발자들의 마음을 사로잡을 수 있다.
수많은 구루(GURU)들이 GIT을 사용하는 데에
는 다 이유가 있다고 홀리자
GIT이 편하다는 것은 너무나 당연한 사실이다.
기업 입장에서는 비용, 개발 효율성, 생산성만 놓고 보아도 GIT으로 옮기는 것이 여
러 모로 도움이 된다.
전 세계의 수많은 오픈 소스 프로젝트들이 GIT으로 옮겨 가고 있는 추세이고, 협업
과 커뮤니케이션을 중시하는 개발 문화를 위해서도 GIT에 익숙해 지는 것이 개인에
게도 향후 경력 관리에 도움이 된다.
여전히 기술들이 발전하고 있기 때문에 과거 SVN을 위한 툴들과는 비교도 되지 않
을 정도로 편리한 개발 환경들을 사용할 수 있다
마치며
회사에서 SVN을 GIT으로 이전하는 작업을 맡았고, 팀원들에게도 GIT을 사용
하도록 설득하고 있지만 가장 큰 장벽은 이전할 때 드는 비용도, 기술적 난이도
가 높아서도 아니고
‘새로운 것을 배우는 것에 대한 두려움’ 그리고
‘눈앞의 업무’ 였다 ㅠㅠ
모든 변화에는 어려움이 따르는 것은 당연하다.
모든 저장소를 GIT으로 반드시 옮겨야 할 필요도 없다.(오래된 프로젝트 등)
하지만 항상 변화를 즐겁게 받아들이는 마음가짐과 결단력이
즐거운 개발자로서의 삶을 위해 중요하지 않을까?

More Related Content

Similar to Svn에서 git으로 이주하기

[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규ChangKyu Song
 
git, git flow
git, git flowgit, git flow
git, git floweva
 
devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례Daehyun Kim
 
31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"hyu_jaram
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Suho Lee
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)Eunchan Lee
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)Dong Chan Shin
 
Configuration management best practices
Configuration management best practicesConfiguration management best practices
Configuration management best practicesHyunil Shin
 
고급 Git과 브랜치 전략 그리고 히스토리 최적화
고급 Git과 브랜치 전략 그리고 히스토리 최적화고급 Git과 브랜치 전략 그리고 히스토리 최적화
고급 Git과 브랜치 전략 그리고 히스토리 최적화Juseok Kim
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료지원 정
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinoneVMware Tanzu Korea
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Jinsoo Jung
 
10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기Minyoung Jeong
 
『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기복연 이
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한NAVER Engineering
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지YoungSu Son
 

Similar to Svn에서 git으로 이주하기 (20)

Why use git
Why use gitWhy use git
Why use git
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
 
git, git flow
git, git flowgit, git flow
git, git flow
 
devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례devon2013: 사내Git저장소개발사례
devon2013: 사내Git저장소개발사례
 
Gitflow ppt
Gitflow pptGitflow ppt
Gitflow ppt
 
31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"31기 고지웅 "구글오픈소스"
31기 고지웅 "구글오픈소스"
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?
 
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
SAYAHAE - 상품평 분석 및 추천 서비스 (자연어 처리)
 
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
Configuration management best practices
Configuration management best practicesConfiguration management best practices
Configuration management best practices
 
고급 Git과 브랜치 전략 그리고 히스토리 최적화
고급 Git과 브랜치 전략 그리고 히스토리 최적화고급 Git과 브랜치 전략 그리고 히스토리 최적화
고급 Git과 브랜치 전략 그리고 히스토리 최적화
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
Slipp 발표 자료 20151212
Slipp 발표 자료 20151212Slipp 발표 자료 20151212
Slipp 발표 자료 20151212
 
10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기10만 라인, 26280시간의 이야기
10만 라인, 26280시간의 이야기
 
『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기『오픈스택 인 액션』 - 맛보기
『오픈스택 인 액션』 - 맛보기
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지05. 아키텍트가 알아야할 12 97가지
05. 아키텍트가 알아야할 12 97가지
 

Svn에서 git으로 이주하기

  • 1. SVN 에서 GIT 으로 이주하도록 설득하기 거의 다 왔다니깐 요..;;; 야 이거 잘하는 짓이냐
  • 2. GIT이 좋은건 써본사람만 안다. 이것 참 좋은데 딱히 설명하기가 힘들다. 자 그러면 GIT이 왜 좋은지에 대한 주장을 뒷받침해 보자 주의 : 이 슬라리드는 튜토리얼이 아니니 시간낭비가 될 수도 있음
  • 3. GIT은 매우 빠르다. 이 장점 만으로도 개발 속도가 빨라지는 것을 체감할 수 있다. 기본적으로 소스코드 형상 기억을 위한 정 보 DB가 차지하는 용량이 적기 때문이다. 특히 백만 라인 단위로 넘어가는 덩치 큰 코드에서 그 차이는 극명해 진다. branch 가 많아질 수록 변경된 내용만 저장하므로 공간(스토리지) 절약이 뛰어나다. SVN은 모든 branch를 전부 checkout 해야 하며 branch 갯수 만큼 공간을 차지한다. Subversion과 Subversion 비슷한 놈들과 Git의 가장 큰 차이점은 데이터를 다루는 방법 에 있다. 큰 틀에서 봤을 때 VCS 시스템 대부분은 관리하는 정보가 파일들의 목록이다. CVS, Subversion, Perforce, Bazaar 등의 시스템은 각 파일의 변화를 시간순으로 관리하면서 파일들의 집합을 관리한다. Git은 데이터를 파일 시스템 스냅샷으로 취급하고 크기가 아주 작다. Git은 커밋하거나 프로젝트의 상태를 저장할 때마다 파일이 존재하는 그 순간을 중요하게 여긴 다. 파일이 달라지지 않았으면 Git은 성능을 위해서 파일을 새로 저장하지 않는다. 단지 이전 상태의 파일에 대한 링크만 저장 한다. Git은 데이터를 스냅샷의 스트림처럼 취급한다. 다 필요 없고 기업에서 가장 큰 모티브가 되는 건 돈이다 개발 속도를 향상 시킬 수 있다는 사실을 강조하며 의사 결정권자의 관심을 사로 잡아라 실제로 빌드 서버에 브랜치는 늘어나는데 SSD 하나 구매하는데 정당성 확보하 기 쉽지 않은 게 회사이다 (어디 회삿돈 쓰는게 쉬운가) 비용 절감
  • 4. 정신 건강 로컬 저장소에서 혼자 놀 수 있다. 나만의 공간에서 commit 하고 roll back 하고 log 정리하고 마음대로 이력 관리를 할 수 있다 SVN에서 이력 관리를 위해 항상 서버에 코드를 동기화 시켜야 하는 것과는 엄청난 차이다. 왜 commit을 하고 또 push를 해야 하냐고 묻는 동료가 있다면, 이상한 커밋 쌓는 다고 팀장한테 쪼인트 까였던 기억력을 되살려주자
  • 5. 생산성 branch와 merge에 시간 낭비를 하다 지친 동 료들에게 tag 등을 이용해 손쉽게 브랜치와 커밋을 넘나 들고 submodule(외부 라이브러리) 마저 버전 별로 한번에 넘나 드는 것을 보여주자 하지만 핵심은 생산성이 올라간 만큼 야근을 줄 일 수 있다는 헛된 희망을 심어주는 것을 잊지 말자 신혼이거나 아이가 있는 개발자들을 설득하기 에 좋다 판교의 야경은 언제 나 아름답다
  • 6. 무한한 가능성 이미 전 세계적인 수많은 선도적 기업들과 오픈 소스 프로젝트들이 이미 GIT으 로 갈아 탔다 북미로 부터 시작된 돌풍은 남미, 유럽, 심지어 아프리카와 인도를 거쳐 이제야 동아시아에 GIT이 전파되기 시작했다 무한한 가능성이 느껴지지 않는가? 세계화에 발맞춰 글로벌 인재를 향한 필수 조건임을 강조하고 태평양 건너 산호 세 어딘가에 당신의 일자리가 있을지도 모른다고 핑크빛 환상을 심어주자
  • 7. 롤 모델 리눅스 커널을 관리할 때 사용하던 상용 툴인 BitKeeper 와의 관계가 틀어져서 리누스 토발 즈의 주도로 GIT이 만들어졌다는 사실을 아는 사람이 의외로 없다. 그의 네임 벨류 만으로도 그를 선망하는 순진한 초급 개발자들의 마음을 사로잡을 수 있다. 수많은 구루(GURU)들이 GIT을 사용하는 데에 는 다 이유가 있다고 홀리자
  • 8. GIT이 편하다는 것은 너무나 당연한 사실이다. 기업 입장에서는 비용, 개발 효율성, 생산성만 놓고 보아도 GIT으로 옮기는 것이 여 러 모로 도움이 된다. 전 세계의 수많은 오픈 소스 프로젝트들이 GIT으로 옮겨 가고 있는 추세이고, 협업 과 커뮤니케이션을 중시하는 개발 문화를 위해서도 GIT에 익숙해 지는 것이 개인에 게도 향후 경력 관리에 도움이 된다. 여전히 기술들이 발전하고 있기 때문에 과거 SVN을 위한 툴들과는 비교도 되지 않 을 정도로 편리한 개발 환경들을 사용할 수 있다 마치며
  • 9. 회사에서 SVN을 GIT으로 이전하는 작업을 맡았고, 팀원들에게도 GIT을 사용 하도록 설득하고 있지만 가장 큰 장벽은 이전할 때 드는 비용도, 기술적 난이도 가 높아서도 아니고 ‘새로운 것을 배우는 것에 대한 두려움’ 그리고 ‘눈앞의 업무’ 였다 ㅠㅠ 모든 변화에는 어려움이 따르는 것은 당연하다. 모든 저장소를 GIT으로 반드시 옮겨야 할 필요도 없다.(오래된 프로젝트 등) 하지만 항상 변화를 즐겁게 받아들이는 마음가짐과 결단력이 즐거운 개발자로서의 삶을 위해 중요하지 않을까?