2009/03/06 13:42 You need
크리에이티브 커먼즈 라이선스
Creative Commons License

오호호~
이런것도 있구먼... 한번 정리를 해보자!!! 뭘까?? GIT란??
GIT를 일반적으로 분산 버전 관리 시스템이라고 한다. ㅎㅎ

http://git-scm.com/

일단 홈페이지 참고.

아래는 Git에 대한 설명인데 흠.. 새로 나온건가?? ㅎㅎ

Git is...
Git is an open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Every Git clone is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on network access or a central server. Branching and merging are fast and easy to do.

Git is used for version control of files, much like tools such as Mercurial, Bazaar, Subversion, CVS, Perforce, and Visual SourceSafe.

흠 좀 더 GIT에 대해 검색해 보자.

버전 관리 시스템으로 Subversion과 CVS가 유명하지만, 최근에 급속하게 사용자를 늘리고있는 버전 관리 시스템 "Git"가있다. Git는 Linux 커널 개발 지도자로 알려진 Linus Torvalds 씨가 중심이되어 Linux 커널 개발에 사용하기 위해 개발한 분산형 버전 관리 시스템이다. 2005년에 개발 시작된 이래 다양한 프로젝트에서 채용되어 지금은 Perl5와 Ruby on Rails, Android, Wine, X.org 등 유명 프로젝트에서 사용하고 있다.

오호~ 완전 땡기는데 ㅎ

으흠.. 대충 버전 관리 하는거 같기는 한데...

Distributed Version Control에 대해서 좀 찾아봐야겠다.
http://betterexplained.com/articles/intro-to-distributed-version-control-illustrated/
위 링크에 가보면 Distributed Version Control에 대해서 설명이 잘 되어 있다.
먼저 공부해 보기를 추천한다.

아래 간단히 정리를 해보았다.


Everyone syncs and checks into the main trunk: Sue adds soup, Joe adds juice, and Eve adds eggs.

Sue’s change must go into main before it can be seen by others. Yes, theoretically Sue could make a new branch for other people to try out her changes, but this is a pain in a regular VCS.


위 사진은 전형적인 VCS에 대한 그림이며. 그 아래 글은 기존의 VCS의 불편한 점을 설명하고 있다.

그렇다면... DVCS(Distributed VCS)에서는 기존의 VCS와 어떤 점이 다른지 보자.


In a distributed model, every developer has their own repo. Sue’s changes live in her local repo, which she can share with Joe or Eve:



But will it be a circus with no ringleader? Nope. If desired, everyone can push changes into a common repo, suspiciously like the centralized model above. This franken-repo contains the changes of Sue, Joe and Eve.

오우.. 그림만으로도 복잡하다...

대략의 내용은 이런것 같다. 각자의 repository를 가지고 버전 관리를 하다가(오프라인에서도 가능) 필요할 때마다 common repository에 적용하는 것 같다.

다음과 같은 장점이 있다.
- 오프라인에서도 작동하며, local machine에서 버전 관리가 되며, 빠르고 branching이나 merge가 쉽다.

Key Advantages

  • Everyone has a local sandbox. You can make changes and roll back, all on your local machine. No more giant checkins; your incremental history is in your repo.
  • It works offline. You only need to be online to share changes. Otherwise, you can happily stay on your local machine, checking in and undoing, no matter if the “server” is down or you’re on an airplane.
  • It’s fast. Diffs, commits and reverts are all done locally. There’s no shaky network or server to ask for old revisions from a year ago.
  • It handles changes well. Distributed version control systems were built around sharing changes. Every change has a guid which makes it easy to track.
  • Branching and merging is easy. Because every developer “has their own branch”, every shared change is like reverse integration. But the guids make it easy to automatically combine changes and avoid duplicates.
  • Less management. Distributed VCSes are easy to get running; there’s no “always-running” server software to install. Also, DVCSes may not require you to “add” new users; you just pick what URLs to pull from. This can avoid political headaches in large projects.

나중에 여유가 된다면 한번쯤 사용하고 싶다.

이런.. 정리를 하면서 이것 저것 검색을 했는데 아래 링크에 완전 잘 설명 되어 있다. ㅎㅎ
http://whiteship.me/1826






'You need' 카테고리의 다른 글

스타일리쉬한 아이콘 모음  (0) 2009/05/14
[powerpoint] 막대 그래프  (0) 2009/03/19
분산 버전 관리 시스템 - GIT  (0) 2009/03/06
무료 프로젝트 관리 툴  (1) 2008/11/05
Sysinternals suite 소개  (0) 2008/10/18
메타 블로그 사이트/RSS 사이트 정리  (3) 2008/09/05
posted by 조금까칠한남자