YTCW
1. git 이론 (깃이란 무엇인가?, 깃의 작동방식) 본문
git 이란?
버전을 편리하게 관리할 수 있도록 도와주는 분산 버전 관리 시스템 ( VCS verstion contol System )이다.
깃이 나오기 전에 CVS, SUBVERSION, PERFORCE ( CVS centralized version control 서버에 히스토리를 관리 ) 같은 시스템이 있었는데 이런 애들은 서버에 문제가 생기면 개발자들이 아무것도 하지 못하는 단점이 있었다.
이를 개선하고자 나온 것이 git , mercurial, darcs와 같은( DVC distributed version control ) 시스템이다. 서버에만 히스토리가 있는 것이 아니라 각 개발자들이 히스토리를 가지고 있기 때문에 서버에 문제가 생겨도 작업을 계속할 수 있게 되었다. 당연히 인터넷이 없어도 가능하다. 이러한 서버는 회사에서만 이용가능한 프라이빗한 서버를 이용하는 경우도 있고 깃허브나 빗버킷처럼 클라우드 서비스를 이용하는 경우도 있다.
git의 작동 방식
1. 첫 번째 프로젝트 작업 공간 그 자체
working directory
2. 두 번째 어느 정도 작업하다가 버전 히스토리에 저장되기 전 잠시 옮겨놓는 공간
staging area
3. 세 번째 버전의 히스토리를 직접적으로 가지고 있는 공간
. git directory
git init을 통해 working 공간을 만들고 코딩 작업 중인 파일 a, b, c가 있을 때 어느 정도 작업이 완료 됐다면
git add. or git add b.html 완료된 파일을 staging area에 옮길 것이다.
그리고 staging area에서도 .git repository 또는 .git directory에 넘기고 싶다면
commit을 사용해서 최종적으로 .git repository 또는 .git directory에 저장하게 된다.
이렇게 .git repository 또는 .git directory 저장했던 파일을 checkout을 통해 다시 working directory에 불러 올 수 있다.
또는 push라는 명령어를 이용하여 서버에 업로드 할 수 있다.
서버에서 로컬로 다운받고 싶을때는 pull을 사용하여 받을 수 있다
작동방식이 궁금해서 공부하다 pull와 clone의 차이가 궁금했다.
다음글에서 연이어 작성해보겠다.
'git , github' 카테고리의 다른 글
| 2. git clone, pull 차이점 (0) | 2024.07.30 |
|---|