studio.soluta

먼저 볼 카드 — Git 기본

개념 Git

커밋·푸시·머지를 그림으로 이해하기

이 카드를 다루는 수업 자료를 잘 정리하는 법 Codex부터 GitHub 저장까지

내 컴퓨터에서 커밋하고, 브랜치의 변경을 머지하고, GitHub로 푸시하는 흐름도
커밋은 내 컴퓨터에 기록하고, 머지는 나눈 작업을 합치고, 푸시는 그 기록을 GitHub에 올립니다.

세 단어는 커밋 → 푸시브랜치 → 머지라는 두 흐름으로 이어집니다. 첫 저장에서는 커밋한 뒤 푸시하고, 나중에 작업을 따로 나누었을 때 머지를 사용합니다.

내 컴퓨터 main — 최종본 커밋 — 중간 저장 한 번 브랜치 — 작업용 복사본 머지 — 복사본을 최종본에 합치기 워크트리 — 복사본을 딴 폴더에 꺼내 나란히 작업 푸시 깃허브에 업로드 깃허브 (인터넷) origin 깃허브에 올라가 있는 푸시하면 여기 쌓이고, 웹사이트에서 보입니다. 푸시된 기록의 사본
  • 커밋(commit) — 블록 집을 사진으로 남기고 “여기까지 만들었습니다”라고 메모하는 것과 같습니다. 실제로는 지금까지 바꾼 파일을 내 컴퓨터에 기록 하나로 남깁니다.

아래 그림에서는 확인한 문서에 도장을 찍어 기록을 남깁니다.

확인이 끝난 문서 더미에 도장을 찍는 퍼핏 — 커밋

  • 푸시(push) — 사진첩을 인터넷 보관함에 올리는 것과 같습니다. 실제로는 내 컴퓨터의 커밋을 GitHub 저장소로 보냅니다. 커밋만 하고 푸시하지 않으면 GitHub 웹에는 아직 보이지 않습니다.

  • 머지(merge) — 다른 책상에서 만든 창문을 완성할 블록 집에 붙이는 것과 같습니다. 실제로는 다른 브랜치에서 만든 변경을 main에 합칩니다.

아래 그림에서는 따로 만든 작업을 최종본에 합칩니다.

실험이 끝난 장을 최종본 문서철에 끼우는 퍼핏 — 머지

다음에 만나는 네 단어

  • 브랜치(branch) — 변경 기록을 나눠 진행할 때 붙이는 이름입니다. 시안 복사본을 하나 더 만들어 실험하는 것과 비슷하게 사용할 수 있습니다.

아래 그림에서는 최종본을 그대로 둔 채 브랜치에서 실험합니다.

원본은 벽에 걸어 두고 복사본에 실험하는 퍼핏 — 브랜치

  • main — 프로젝트가 기본으로 사용하는 브랜치 이름입니다. 확인을 마친 변경을 모으는 방식으로 운영할 수 있지만, Git이 완성본으로 정해 놓은 이름은 아닙니다.
  • origin — 원격 저장소 주소에 붙이는 이름입니다. 흔히 GitHub 주소를 가리키지만 다른 서버도 가리킬 수 있습니다.
  • 워크트리(worktree) — 같은 Git 저장소에 연결된 별도 작업 폴더입니다. 두 작업을 동시에 진행할 때 파일이 섞이지 않게 도와줍니다.

아래 그림에서는 두 작업을 다른 폴더에 나란히 펼칩니다.

두 번째 책상을 끌어와 나란히 놓는 퍼핏 — 워크트리

Codex나 Claude Code에는 “지금까지를 기록해 줘”, “GitHub에 올려 줘”, “따로 만든 작업을 main에 합쳐 줘”라고 말해도 됩니다. 작업이 끝난 뒤에는 커밋, 푸시, 머지 가운데 무엇을 했는지 확인합니다.

순서대로 해보기

  1. 커밋은 블록 집을 사진으로 남기고 “여기까지 만들었습니다”라고 적는 것과 같습니다. 실제로는 지금까지 바꾼 내용을 내 컴퓨터에 기록합니다.

    지금 바뀐 내용을 읽고 첫 커밋 후보를 보여 줘. 어떤 파일을 왜 기록하는지 쉬운 말로 설명하고, 아직 커밋하지 마.

    확인커밋에 들어갈 파일과 변경 이유가 나오며 아직 기록은 만들지 않습니다.

  2. 푸시는 사진첩을 인터넷 보관함에 올리는 것과 같습니다. 실제로는 내 컴퓨터의 커밋을 GitHub 저장소로 보냅니다.

    현재 커밋이 GitHub에도 올라갔는지 확인해 줘. 내 컴퓨터에만 있으면 아직 푸시하지 말고 상태만 알려 줘.

    확인커밋이 내 컴퓨터에만 있는지 GitHub에도 있는지 구분해서 알려 줍니다.

  3. 머지는 다른 책상에서 만든 창문을 완성할 블록 집에 붙이는 것과 같습니다. 실제로는 다른 브랜치에서 만든 변경을 main에 합칩니다.

    현재 브랜치와 main의 차이를 보여 주고, 머지하면 어떤 변경이 합쳐지는지 쉬운 말로 설명해 줘. 아직 머지하지 마.

    확인어느 브랜치의 어떤 변경이 main에 들어갈지 나오며 아직 합치지는 않습니다.

  4. 첫 저장에서는 커밋한 뒤 푸시합니다. 따로 만든 브랜치가 없으면 머지는 하지 않습니다.

    이 프로젝트의 첫 저장에 커밋, 푸시, 머지 가운데 무엇이 필요한지 판단하고 이유를 한 줄씩 알려 줘. 아직 실행하지 마.

    확인보통 커밋과 푸시가 필요하고, 합칠 브랜치가 없으면 머지는 필요하지 않다고 알려 줍니다.

직접 해보기

대괄호 안은 실제 값으로 바꿔서 붙여넣습니다.

내 상황에 맞춰
[내 프로젝트 폴더]에서 지금 브랜치 상황을 그림 그리듯 설명해 줘. main에는 뭐가 있고, 다른 브랜치가 있다면 각각 어떤 작업이 얼마나 진행됐는지, origin과 얼마나 차이 나는지.
한 단계 더
지금 작업을 유지한 채로, 다른 급한 수정을 병행하고 싶어. 워크트리를 써서 별도 폴더에서 작업하는 게 나을지, 브랜치만 바꾸는 게 나을지 판단해 주고 네가 추천하는 쪽으로 진행해 줘.

작업 보고에서 커밋·푸시·머지를 찾아 “내 컴퓨터에 기록하기·GitHub에 올리기·작업 합치기” 가운데 하나로 바꿔 말해 보세요.

헷갈리기 쉬운 것

커밋만 하면 기록은 내 컴퓨터에만 남아서 GitHub 웹에는 보이지 않습니다. 푸시는 이미 만든 커밋을 올리는 일이라 커밋 없이 먼저 할 수 없습니다. 머지는 합칠 다른 브랜치가 있을 때만 필요합니다.

용어 풀이

전체 용어집 →
커밋(commit)
지금까지 바꾼 내용을 내 컴퓨터에 기록 하나로 남기는 일입니다.
브랜치(branch)
변경 기록을 나눠 진행할 때 붙이는 이름입니다. main을 유지하면서 별도 브랜치에서 작업할 수 있습니다.
origin
내 컴퓨터의 Git 저장소가 연결한 원격 저장소 주소에 붙이는 이름입니다. GitHub가 아닌 서버도 가리킬 수 있습니다.
워크트리(worktree)
같은 Git 저장소에 연결된 별도 작업 폴더입니다. 보통 폴더마다 다른 브랜치를 사용합니다.

2026-08-18 기준 · 출처 · GitHub Docs — Hello World, GitHub Docs — About branches, git-scm — git worktree