Git 이란?
Git(깃)이란 '소스코드를 저장'하는 저장소에요.
Git에 저장하는 소스코드는 수정도 빈번하고 고칠게 많고 여러사람이 작업하는 등 하드디스크에 사진을 저장하는 것 처럼 간단하지가 않아요.
누가 언제 어떤 파일에서 어떤 부분을 왜 바꾸었는지를 변경이 생길 때 마다 추적할 수 있도록 체계적으로 관리해 주는 기능을 하는게 '소스코드 저장소'이고 보통 이걸 'Repository'(리포지토리, 리파지토리)라고 부릅니다.
OS에도 윈도, 리눅스, 앤드뤄이드, IOS 등 여러가지가 있듯이 '소스코드 저장소'에도 'SVN', 'Git', 'CVS' 등 여러가지 프로그램이 있는데 그중에 요즘 관심을 끌고 있는게 'Git'이에요.
Git을 어려워 하는 분들이 많아요. 이유는 '소스코드 저장소'(repository)의 기능을 모른채 git을 접하기 때문이에요.
리파지토리의 기능은
1.소스를 저장한다
2.소스가 올라올 때 어디서 변경되었는지 체크한다.
3.소스 변경 사항에 대한 기록을 남긴다.
이렇게 3가지 기능이에요.
예를 들어 설명을 해볼게요.
'Hello World'를 출력하는 프로그램이 리포지토리에 있어요.
a라는 사람과 b라는 사람이 같이 작업을 하는데
a도 리포지토리에서 'Hello World'를 받고 b도 리포지토리에서 'Hello World'를 받아옵니다.
a는 'Hello World'를 'Bye World'로 고치고 리포지토리에 업로드를 했어요.
b는 'Hello World'를 'Hello World Cup'으 고치고 리포지토리에 업로드 하려고 해요.
이 경우 리포지토리가 없이 사진을 저장하듯이 소스코드를 저장하면 a가 고친 부분을 b가 덮어쓰게 되므로 a가 작업한건 없어져버립니다.
리포지토리가 하는 일은 이런일을 방지하는것이에요.
a는 'Hello World'를 'Bye World'로 고치고 리포지토리에 업로드를 하고
b가 'Hello World'를 'Hello World Cup'으 고치고 리포지토리에 업로드 하려고 할 때
리포지토리는 b에게 'a가 수정한 부분이 있기 때문에 업로드를 할 수 없다'라고 알려줍니다.
여기에서 b가 본인이 수정한 것을 올리려면 a가 수정한 부분을 b자신이 수정한 소스코드에 반영한 다음에 업로드를 해야 해요.
b는 a가 수정해서 올린 'Bye World'를 받아서 자신이 추가한 'Cup'을 붙여서 업로드 할 수 있어요.
두 명이 수정한 결과는'Bye World Cup'이렇게 되는 거죠.
'개발 > Git, GitHub' 카테고리의 다른 글
Git repository Clone 하기 - ssh 에러 (0) | 2018.05.21 |
---|---|
bitbucket에 git repository생성하고 local repository 생성하기 (0) | 2018.05.21 |
Git 사용 방법 - 제1편 로컬 저장소 만들기 (0) | 2018.05.21 |
깃(Git)을 쓰는이유 (0) | 2018.05.21 |
git command (0) | 2018.05.21 |