본문 바로가기

기초공부/git

[git]prologue

git을 공부하기 전에 git을 공부해야 하는 이유에 대해 알아보려고 합니다

버전 관리

동일한 정보에 대한 여러 버전을 관리하는 것을 말합니다. 팀 프로젝트를 해야한다고 가정해봅시다.
각자 자신이 맡은 일을 하게 됩니다. 모두가 동일한 버전의 프로젝트 리소스를 사용하기는 어렵습니다. 누구를 '최신' 버전으로 맞출지, 파일 주고받기는 어떻게 해야 할지 등이 고민입니다. 만약 누군가의 파일이 날아가는 경우도 문제입니다. 만약 한 파일을 여러 명이 작업해야 할 경우에도 문제입니다. 각자가 구현하다보면 다른 사람이 작업한 부분을 찾아 수정해야 하기 때문입니다. 이러한 문제들을 해결하기 위하여 git을 사용합니다

버전 관리 시스템(Version Control System, VCS)

버전을 관리하는 시스템입니다. 위와 같은 문제점을 해결하는 도구입니다. 크게는 '서버-클라이언트'모델과 '분산'모델로 나뉩니다.
'서버-클라이언트'모델은 하나의 중앙 저장소를 공유한 후 각각의 클라이언트가 저장소의 일부를 갖는 형태입니다. CVS, Subversion(SVN) 등이 이에 속하는 시스템입니다.
'분산'모델은 프로젝트에 참여하는 모든 클라이언트가 전체 저장소에 대한 개별적인 로컬 저장소를 갖는 형태입니다. 각자가 전체 저장소의 사본을 가지고 있습니다. git, 머큐리얼 등이 이에 속합니다.

Git

많은 버전 관리 시스템 중에서 왜 git을 사용해야 할까요? git의 장점은 다음과 같습니다

  • 실수를 했을 경우 구 버전의 파일을 복구할 수 있습니다
  • 모든 변경에 대한 이력을 가지고 있습니다
  • 변경한 이유를 기록할 수 있습니다
  • 변경 내용을 테스트하거나 다른 기능을 실험해 보기 위해 별도의 브랜치를 생성할 수 있습니다. 변경 내용을 병합할 수도 삭제할 수도 있습니다.
  • 여러 사람이 동시에 같은 파일을 작업할 수 있습니다
  • 여러 사람들이 다른 브랜치에서 작업하여 병합할 수 있습니다

이제 git을 사용해봅시다!


출처 : 만들면서 배우는 Git GitHub 입문(윤웅식 저), GitHub 사용 설명서(Peter Bell & Brent Beer 저)