Git에 대한 생각..

오늘은 약간 가벼운 주제를 얘기 할까 합니다.

최근 프로젝트가 마무리지만 다행이 우리 파트는 진행이 잘 되서 시간적 여유가 생겼습니다.

그래서 이런 시간에 어떤걸 좀 볼까 고민을 하다가 다소 집중해야 하는 주제보다 가볍게(?), 부담 없는 것을 찾았습니다.

그중에 생각난게 Git, IntelliJ, Grails 였습니다.
그 중에서 그래도 현실적인 느낌은 Git 이었습니다.

이번 주 부터 봐서 원격 저장 관리 파트쪽까지
보고 있습니다.

현재 깃헙도 만들어 났습니다.
먼저 Git 고수님들 한테 이런 주제를 정해서 죄송 합니다. ㅠㅠ

제가 처음 Git을 접한 시기가 2년전 KTH의 H3 였습니다.
처음 느꼈을때의 감정은 완전 멘붕 ~~~ @@

도저히 이해도 안가고, 저렇게 해야 하나 싶기도 했습니다.
특히나 제가 일하는 곳이 SI이다 보니 더욱
보수적으로 볼수 밖에 없었습니다.

그리고 그 당시 자료도 막 나올때였고, 외국
오픈소스들도 점점 SVN에서 Git으로 이주 하던 시기 였습니다.

그렇게 시간이 흘렀고, 아무 생각해도 별 쓸모가 없다고 생각 했습니다.
소위 “안티 Git” 이었습니다.

최근 하고 있는 일이 파일 관련 일이라서
그런지 예전보다 관심이 갖었고 , 무엇보다
Git을 알리려는 열정적인 개발자 분들의
정리 자료를 통해서 단기간에 조금만
투자하면 잘쓰지는 못해도 쓰는데는 크게
지장이 없다는 생각이 들었습니다.

무엇보다 “형상관리” 자체를 사실 잘 이해를
못했습니다.

뭐 사실 알고 싶지도 않았습니다. 어차피 SI는 영원한 Trunk 이니..

사실 개인적으로 Git을 공부 하기 보다
형상관리에 대한 부분이 궁금 했습니다.
브렌치, HEAD, 리비전, 태그등.. 그런 용어의
의미들..

현재 까지 진행 상태는 역시나 쉽지는 않지만
이상하게 재미가 있습니다.

특히 기존 SVN 과 뭐가 틀리며, 분산 형상 관리에 대한 개념이 제일 헷갈였습니다.

사실 이해하면 크게 어려운 얘기도 아닙니다.
특히 Git은 오픈소스 진영은 엄청 많이 쓰고
있고 실질적으로 거의 이전이 된 느낌 입니다.

왜 이렇게 Git을 사용할까요?
그건 어플리케이션이 복잡하고, 경우에수가
많다는 것입니다.

예를 들어서 A,B,C 에 대한 안정성, 성능을
테스트 해야 한다면?

대부분 여러 케이스가 나옵니다. 복사 3개
해서 중복 코딩을 하는 것, 아니면 내부에 분기처리 하는 것, 백업 받아서 하나씩 해보는 곳등..

그래서 하나가 선택 되었다면 소스 merge가
멘붕일 겁니다.

간단한거야 기억력에 의지하지만, 매번 자주
바뀌고, 리팩토링 사이즈가 크면 merge도 힘들고, 이전 시점 롤백도 어려울 것 입니다.

그래서 “그래 내가 개별로 저장소 줄테니” 알아서 지지고 볶아.. 대신 취합해야 하니깐 확실한 것만 올려..

이렇게 10명이면 10개 저장소를 들고 다니고
본인이 완벽한것만 올리는 것입니다.

각자 생각이 틀리지만 Git의 꽃은 “브렌치” 입니다.

나머지는 유틸리티에 다소 가깝습니다.
바로 위에 고만 거리를 해결하는 설루션이
바로 “브렌치” 입니다.

실제 Git 하시는 분들은 제일 먼저 하는게
“브렌치” 따는 것입니다.

앞으로는 이렇게 하나의 goal을 위해
다수의 method의 시대로 가고 있습니다.

실제로 카카오, KTH, 클라우드 웨어등 국내
서비스 개발팀에서 완전히는 아니지만
실무에서 많이 사용하는 걸로 알고 있습니다.

심지어 스타트업은 원격 저장소를 “Github를
많이 사용 중입니다.

저는 개인적으로 Git를 개발자 분들이 많 보셨으면 합니다.
처음에 말했듯 개발자로써 형상관리에 대해서
공부할 필요가 있습니다.

또한 깊은사고를 줄 것입니다. 당장 연관이
없어 보이지만 결국 직간접적으로 많은
영감을 줄 겁니다.

어떻게 보면 그것만 얻어도 학습할만한 동기
부여가 됩니다.

학습 방법은 몰아치기 비추 입니다.
Git 또는 IDE같은 경우는 짧게 자주 접해야
하는 넘들 입니다.

하루에 몇개만 하나씩 알아가도 최소 2개월이면 어느 정도 할수 있고, 더 빨리도 배울수 있습니다.

아마 여러분 피부에 올려면 더 많은 시간이
흘러야 할것 같습니다.

지금 부터 조금씩 관심 갖어도 절대 늦지도
않았습니다. 저는 실무에
바로 적용은 결사반대 입니다.

저 역시 Git은 작은 단위 관리라고 하는데
글쎄요.. 저로 학습하고, 이해하면
오히려 더 크고, 안전하게 관리 될수 있지
않을까 합니다.

다들 익숙하셔서 완성 된것만 “push”
하는 그날이 왔으면 좋겠습니다.

Published by: beyondj2ee

Past SI AA, now I am pikicast developer in yellow mobile and daddy, Java, Spring, OpenSource, Application Architect :) Java Application Architect. mail : beyondj2ee@gmail.com twitter : twitter.com/beyondj2ee facebook : https:www.facebook.com/beyondj2ee blog: http:beyondj2ee.wordpress.com

Categories My ThoughtTags , 댓글 3개

3 thoughts on “Git에 대한 생각..”

  1. Git을 맨 처음 접했을 때가 생각나네요. 저도 살짝 멘붕이 왔는데.. 근래 채용을 보다보면 가끔 Github account를 적게 하는 곳도 보이더라구요. 확실히 세상이 달라져가는걸 느낍니다.

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중