
Git 용어가 헷갈리는 건 당연합니다. 대부분 "각 단어가 뭔지"만 따로 외우려다 지치거든요. 사실은 하나의 흐름으로 이어지는 이야기라,
그 흐름을 잡으면 단어들이 저절로 제자리를 찾습니다. 이 글은 딱 그 흐름을 잡아주는 걸 목표로 합니다.
시작 전에: Git과 GitHub는 다릅니다
가장 먼저 이 둘부터 구분하면 나머지가 쉬워집니다.
Git = 내 컴퓨터에서 파일의 변경 내용을 저장하고 되돌릴 수 있게 해주는 도구. 게임의 '세이브' 기능이라고 생각하면 됩니다.
GitHub = 그 저장 결과물을 인터넷에 올려두고 남과 나누는 공간. 구글 드라이브 같은 클라우드 저장소예요.
한마디로 Git은 '기능', GitHub는 '장소'입니다.
여기서 딱 하나만 더. 작업이 벌어지는 곳이 두 군데라는 점입니다.
로컬(local) = 지금 내가 앉아 있는 내 컴퓨터 안
리모트(remote) = 인터넷 너머의 저장소, 보통 GitHub
앞으로 나올 단어의 절반은 "내 컴퓨터 안에서 벌어지는 일"이고, 나머지 절반은 "내 컴퓨터와 GitHub 사이를 오가는 일"입니다. 이 두 무대를 머릿속에 그려두세요.
핵심 용어, 흐름 순서대로
저장소 (Repository, 줄여서 repo)
프로젝트 하나가 통째로 들어가는 폴더입니다. 그 안의 파일들뿐 아니라 지금까지의 모든 저장 기록까지 다 담고 있어요. "이 프로젝트의 모든 것"이라고 보면 됩니다.
클론 (Clone)
GitHub에 있는 저장소를 내 컴퓨터로 통째로 복제해 오는 것. 클라우드에 있는 프로젝트 폴더를 처음 한 번 내려받아 내 책상에 펼치는 일입니다. 딱 한 번, 시작할 때 합니다.
스테이징 (Staging, 명령어로는 add)
저장하기 전에, 저장할 파일들을 골라 장바구니에 담는 단계입니다. 10개 파일을 고쳤어도 이번엔 3개만 저장하고 싶을 수 있잖아요. 그 3개를 담는 게 스테이징입니다.
커밋 (Commit)
장바구니에 담은 내용을 "지금 이 상태로 저장!" 하고 도장을 찍는 것. 게임의 세이브 포인트예요. 이때 "무엇을 왜 바꿨는지" 메모(커밋 메시지)를 함께 남깁니다. 나중에 이 지점으로 언제든 되돌아올 수 있습니다.
여기까지(add → commit)는 전부 내 컴퓨터 안에서만 일어나는 일입니다. 아직 GitHub는 이 사실을 전혀 모릅니다.
푸시 (Push)
내 컴퓨터에 저장(커밋)해 둔 내용을 GitHub로 밀어 올리는 것. "밀다(push)"라는 말 그대로예요. 이걸 해야 비로소 내 작업이 클라우드에 올라가고, 다른 사람도 볼 수 있게 됩니다.
풀 (Pull)
반대로, GitHub의 최신 내용을 내 컴퓨터로 당겨 내려받는 것. "당기다(pull)". 다른 사람이 올려둔 변경사항을 받아올 때, 혹은 다른 컴퓨터에서 작업한 걸 가져올 때 씁니다.
푸시와 풀은 방향만 반대인 짝꿍입니다. 푸시 = 올리기, 풀 = 내려받기.
브랜치 (Branch)
원본을 건드리지 않고 따로 작업할 수 있는 '평행 세계' 사본입니다. 나뭇가지(branch)처럼 본줄기에서 갈라져 나온다고 이런 이름이 붙었어요.
예를 들어 잘 돌아가는 서비스에 새 기능을 실험하고 싶다고 해볼게요. 본체에서 바로 만지면 망가졌을 때 큰일이죠. 그래서 '새기능'이라는 가지를 하나 쳐서 거기서 마음껏 실험합니다. 실패하면 그 가지만 버리면 되고, 본줄기는 멀쩡합니다. (본줄기는 보통 main이라고 부릅니다.)
머지 (Merge)
브랜치에서 한 작업이 잘 마무리됐으면, 그 가지를 본줄기에 다시 합치는 것. 실험이 성공했으니 정식으로 반영하는 단계입니다. 갈라졌던 두 갈래를 하나로 '병합(merge)'한다고 생각하면 됩니다.
이 단어들이 실제로 어떻게 이어지나
흐름으로 보면 이렇게 하나로 꿰어집니다.
[GitHub의 프로젝트]
│ ① 클론 (처음 한 번, 내 컴퓨터로 복제)
▼
[내 컴퓨터]
② 브랜치 생성 (본줄기 안 건드리고 따로 작업할 가지)
③ 파일 수정
④ 스테이징(add) — 저장할 파일 담기
⑤ 커밋(commit) — 세이브 + 메모
│ ⑥ 푸시 (GitHub로 올리기)
▼
[GitHub]
⑦ 머지 — 작업한 가지를 본줄기에 합치기
이 한 바퀴가 개발의 기본 리듬입니다. 처음엔 낯설어도, 몇 번 돌려보면 몸에 붙습니다.
조금 더 나아가면 만나는 단어들
당장 다 몰라도 되지만, 자주 보이니 눈에만 익혀두세요.
origin : 내가 연결해 둔 GitHub 저장소의 별명. "그 리모트 저장소"를 가리키는 기본 이름입니다.
Pull Request (PR) : "제 가지에서 한 작업을 본줄기에 합쳐도 될까요?" 하고 검토를 요청하는 것. 여럿이 함께 작업할 때, 바로 합치지 않고 서로 확인하는 절차예요. (이름은 '풀'이지만 실제로는 '합쳐 달라'는 요청에 가깝습니다.)
포크 (Fork) : 남의 저장소를 내 GitHub 계정으로 통째 복사해 오는 것. 남의 프로젝트를 내 것으로 가져와 자유롭게 손볼 때 씁니다. (클론은 '내 컴퓨터로', 포크는 '내 GitHub 계정으로'라는 차이가 있어요.)
한 장 치트시트

마지막으로
이 단어들을 한 번에 다 외울 필요는 없습니다. 가장 자주 쓰는 건 결국 수정 → add → commit → push, 이 네 박자예요. 이것만 손에 익어도 일상 작업의 대부분이 굴러갑니다. 브랜치와 머지는 조금 익숙해진 뒤에 천천히 들이면 됩니다.
그리고 헷갈릴 때 가장 확실한 방법 하나 — 그냥 AI에게 물어보세요. "지금 상황에서 커밋하고 푸시하려면 뭘 어떻게 해?"라고 하면, 지금 내 처지에 맞는 명령까지 알려줍니다. 용어는 이 문서로 감을 잡고, 구체적인 실행은 곁에 있는 AI에게 물어가며 익히면 가장 빠릅니다.
