서문
GIT이 중요하다… GIT을 이용해 협업해야한다… 도대체 GIT이 뭐길래 그러는 걸까요? 저는 GIT을 이해하지 못하는 이유는 배경 지식이 부족하기 때문이라 생각해요. 기초부터 차근차근 GIT을 함께 파헤쳐봅시다.
GIT이란?
“GIT을 알아야 회사에서 이쁨 받는다~”, “GIT을 모르면 협업 못해~” 라는 이야기는 수 많이 들어 보셨을테니 잡다한 이야기는 내려놓고 저는 “GIT”이란 것에 대해서만 이야기를 할까 합니다. GIT은 “노드로 구성된 트리를 명령어로 다루는 툴” 입니다. 저는 위 문장을 이해해야 GIT을 정확히 이해할 수 있다고 생각합니다. 위 문장이 이해되지 않는다면 아래 링크를 참고해주세요.
GIT이 어렵고 이해되지 않는다면 배경 지식이 부족한 것입니다. 배경 지식이 없어서 이해가 안되는 것은 당연한 것이니 전혀 걱정하실 필요 없어요. 함께 이해하면.. 될거에요 ㅋㅋㅌ 😆
깃은 각 커밋(노드)에 소스 코드에 대한 정보를 저장하고, 그 커밋을 명령어를 통해 생성, 읽기, 수정, 삭제를 합니다. 임시 저장을 할 수도 있고 복구를 할 수도 있어요. 다른 저장소(레포지토리)에 있는 코드를 가져올 수도 있고 깃을 이용해 배포와 운영 관리를 할 수도 있습니다. 그만큼 활용도가 무궁무진한 오픈소스 코드 관리 시스템이면서 개발 실력에 직관 되는 툴이니 꼭 끝까지 이해하시길 바랍니다.
GIT의 구조
git을 자료구조를 통해서 이해해봅시다. 일단은 그냥 트리라고 생각해주세요. GIT은 노드(커밋)으로 이루어진 트리(레포지토리)를 조절하는 알고리즘입니다. 각 노드를 가르킬 수 있는 헤드(브랜치)가 존재하고 헤드(브랜치)를 통해서 노드(커밋)을 조회하고, 노드(커밋)의 데이터를 가져올 수 있어요. main, dev등의 새로운 헤드(브랜치)를 생성할 수 있으며 이 헤드(브랜치)를 통해서 노드(커밋)를 CRUD, 병합, 이동할 수 있어요.
알아두면 좋은 용어들
- 로컬: 내 컴퓨터에 저장된 깃
- 리모트: 깃허브 원격 저장소에 저장된 깃
- 액션: push, pull, merge등의 깃의 소스코드에 변화를 주는 명령어입니다.
- 헤드: 브랜치의 가장 최신 커밋을 헤드라고 합니다. 브랜치의 끝을 알려주는 역할을 합니다.
- 커밋: 깃의 코드를 저장하는 분기점(노드)입니다. 각 커밋은 날짜, 메세지, 코드 정보 등을 담고 있으며 브랜치의 헤드가 될 수도 있습니다.
- 브랜치: 깃을 효과적으로 사용하기 위해서 각 커밋을 분류하는 기능입니다. 브랜치를 통해서 커밋에 접근하고 커밋을 수정할 수 있습니다.
- 레포지토리: 각 브랜치와 커밋을 담고 있는 저장소입니다. 로컬과 원격 저장소에 존재합니다.
그래서 어떻게 쓰는데?
본 문서 아래로 git의 사용법은 단계 별로 정리하였습니다. 천천히 각 단계를 따라하며 git을 마스터 해봅시다!
'GIT > GIT 배워보기' 카테고리의 다른 글
Config (0) | 2023.01.28 |
---|---|
Stash, Clean (0) | 2023.01.28 |
Repository, Branch, Checkout (1) | 2023.01.28 |
Add, Reset (0) | 2023.01.28 |
Remote, Changes, Staged Changes (0) | 2023.01.28 |