Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Svn에서 git으로 이주하기

2,220 views

Published on

  • Be the first to comment

Svn에서 git으로 이주하기

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

×