2013년 10월 30일 수요일

Git 개념부터 익히자.

드디어 포스트를 남긴다...

도저히 그냥은 기억을 못할것 같다..

회사에서 3년간 SVN 만 써오다가.. Git 를 써보려고 하는데..

이건 개념부터 "멘붕" 이 온다.. 그냥 닥치고..Eclipse 에다가

EGit Hub plugin 다운받고 해봐야지~하고 폼잡았는데...에라이. 하나도 모르겠다..

그래서 개념부터 차근차근 정리해 보려 한다.

1. SVN 과 Git 의 다른점

   - 일단, SVN 은 저장소가 서버에 있다.
   - 즉 , 서버에서 Check Out 받고 난 열심히 개발해서 서버로 Commit 하면 된다.

   - 근데 왜, Git 는 자꾸 내 컴퓨터 내에 다가 저장소를 만들라 하는가..



    그래서 이것부터 초 멘붕이 아닐수 없다.. 아니 왜???? 그럼 Git 는 팀프로젝트를

   어찌하나? ..?

   그래서 봤더니 Remote Repository 를 만들란다..이름하여 원격 저장소...

   즉.. 보니까... 작업해서 내 Local Repository 에 열심히 Commit 하고

   그 후에 원격 저장소에 Push 로 올리는 작업을 한다 한다.

   뭐 아래와 같은 느낌으로 말이지..



  그러니까 즉,, SVN 은 Commit 즉시 공동 Repository 로 올라가지만

  Git 는 로컬에도 한번 저장되고 원격 저장소에 한번 더 저장된다. 즉 나눠서 저장된다.

  라고 해서 , 분산버전관리시스템 이라고 한단다

   

   근데 솔직히... 뭐가 좋은지 모르겠어서 이것저것 찾아봤다..

   아니 문제 없으면 Commit 하는 거니까.. 마찬가지 아닌가 싶었다..

 
   장점 1 : 무지 빠르다. Commit 이나 Log 작업이 SVN에 비해 무지 빠르답니다.

              (이거야 당연하겠지..Local에 저장하는데...그다지 끌리진 않는다..)

   장점 2 : 커밋에 부담이 없습니다.

               (움.... 이건 쫌 괜찮다. 커밋 미리미리 하고 테스트 하고 , 내꺼에 Revision
                자유롭게 남기고. 오 이건 괜찮은듯)

   장점 3 : 원격 저장소가 망가졌거나 네트웍이 끊겨도 관리가 가능하다.

               (Git Win.. SVN 서버 날라가면 멘붕오고 Revision 관리 안되는것보다 훨낫다!)
               ( 이러면 나중에 복원도 될꺼아냐 Local 꺼 올리면 되니까.. 니가 짱먹어라)

 
 그래서 칭송하고 쓸까 생각했는데.. 이상한게 더있다-_-;;

Staging Area  란다..이건 또 뭔지..

보니까 SVN 에서는 연결된 파일들은 모두 Commit 해서 올려야 하지만.

Git 는 스테이지영역에 커밋할 것들만 올려 놓고 커밋하면 된다는 것 같다..

근데 이건 뭐..똑같자너 SVN 이랑..뭔차이여..

음..아무리봐도  Git 가 소스 충돌 나는 부분 까지 해결해주지는 못하는 것 같고..

그래서 찾아본 장점 중 하나가 , SnapShot 이란다.

SVN 을 써본 분들은 아시 겠지만, SVN은 파일이 변화한걸 저장하고

띄어쓰기를 하든 , 뭘 하든 뭔가 변화하면 Commit 이 가능하고

Commit 하면 Revision 이 올라가지요

근데 Git 는 SnapShot 으로 관리한단다..대체 뭔말인지..

이래저래 확인해봐도 아직 확 감은 오지 않는다.. 즉 쉽게 얘기해보면

커밋하는 당시 당시마다 , 프로젝트 전체 스크린샷을 찍는것 같고

그렇기 때문에 brunch 관리 라든지 전 버전을 확인한다는 작업이

수월 하다고 하는 듯하다..

자세한건 다시 좀더 살펴봐야 할 듯하네..







 

댓글 없음:

댓글 쓰기