Git 시작하기 — Push, Pull, Merge 충돌 해결까지 초보자를 위한 3단계
처음 Git을 배우면 가장 먼저 부딪히는 벽이 있습니다.
바로 “Push가 안 돼요”, “Merge 충돌이 났어요”, “Pull했는데 파일이 사라졌어요” 같은 문제죠.
이번 글에서는 Git을 전혀 모르는 초보자도 쉽게 따라올 수 있도록, 기본 개념부터 실무에서 가장 자주 마주치는 **충돌 해결법**까지 3단계로 나누어 깔끔하게 정리했습니다.

1단계 — Git의 기본 개념 익히기
Git은 ‘버전 관리 시스템(Version Control System)’입니다.
쉽게 말하면 **내 코드의 모든 수정 이력을 저장하고 되돌릴 수 있는 도구**죠.
로컬(내 컴퓨터)에서 코드를 관리하고, 원격 저장소(예: GitHub)에 업로드하여 다른 사람과 협업할 수 있습니다.
Git을 구성하는 핵심 3요소는 다음과 같습니다.
- Repository (저장소): 프로젝트의 모든 버전이 저장되는 공간
- Commit: 변경사항을 기록하는 ‘저장 스냅샷’
- Branch: 실험적인 코드를 따로 관리하기 위한 분기점
💡 기억하세요: Git은 단순 저장소가 아니라, **시간여행이 가능한 개발 타임머신**입니다.
2단계 — Push와 Pull, 그리고 협업의 기본
Git을 실제로 사용할 때 가장 많이 쓰는 명령어가 바로 push와 pull입니다.
이 두 가지 개념만 명확히 이해해도 협업의 절반은 끝났다고 할 수 있어요.
Push란?
내 로컬에서 작업한 코드를 원격 저장소(GitHub 등)에 업로드하는 명령입니다.
즉, “내 코드를 팀 전체와 공유한다”는 의미죠.
git add .
git commit -m "회원가입 기능 추가"
git push origin main
✅ 팁:
처음 Push할 때는 origin main을 명시해야 하지만, 두 번째부터는 git push만 입력해도 됩니다.
Pull이란?
팀원이 수정한 최신 코드를 내 컴퓨터로 가져오는 명령입니다.git pull을 실행하면 원격 저장소의 변경 내역을 병합(Merge)합니다.
git pull origin main
✅ 팁:
Pull은 단순히 다운로드가 아니라, 병합(Merge)을 포함한 과정입니다.
따라서 파일이 겹치는 경우 “충돌(conflict)”이 발생할 수 있습니다.
3단계 — Merge 충돌 해결하기
Git을 쓰다 보면 반드시 한 번은 겪는 일이 있습니다.
바로 “Merge conflict”라는 이름의 **협업의 통과의례**입니다.
예를 들어, 두 명이 같은 파일의 같은 줄을 동시에 수정하면 Git은 어떤 버전이 맞는지 판단하지 못해 충돌 상태가 됩니다.
💥 충돌 예시:
<<<<<<< HEAD
System.out.println("버전 A의 코드");
=======
System.out.println("버전 B의 코드");
>>>>>>> origin/main
✅ 해결법:
IDE(예: VSCode, IntelliJ)에서 “HEAD”와 “incoming change” 중 하나를 선택하거나,
수동으로 병합 후 git add → git commit으로 마무리하세요.
💡 추가 팁:
항상 Pull을 먼저 하고 나서 Push를 해야 충돌을 예방할 수 있습니다.
즉, “Pull → 작업 → Commit → Push” 순서를 습관화하세요.
보너스 — Git 시각화 툴 추천
Git이 어렵게 느껴진다면 시각화 툴을 활용해보세요.
명령어 없이도 브랜치 흐름을 한눈에 볼 수 있습니다.
- Sourcetree: Atlassian에서 만든 무료 Git 클라이언트
- GitKraken: 직관적인 인터페이스의 그래픽 Git 툴
- GitHub Desktop: GitHub 사용자에게 가장 친숙한 UI
툴을 통해 충돌 상황을 직접 클릭으로 해결할 수 있어 초보자에게 특히 추천드리고 싶어요.

마무리
Git은 처음엔 어렵지만, 이해하고 나면 가장 강력한 협업 도구가 됩니다.
Push와 Pull, 그리고 Merge 충돌 해결만 익혀도 실무에서 팀원들과 원활하게 협업할 수 있습니다.
지금은 명령어 몇 개뿐이지만, 이게 바로 “개발자가 되는 첫 번째 관문”이랍니다.
다음 글에서는 “개발자가 자주 잊어버리는 SQL 기본 명령어 7가지 (JOIN, GROUP BY 실습)”을 다뤄보겠습니다.
데이터베이스 감각을 키우고 싶은 분들은 꼭 이어서 읽어보세요!
'개발자 기초 & 실무' 카테고리의 다른 글
| 화면에서 백단 쿼리로 파라미터 넘기기 — JSP & Servlet 실습 (0) | 2025.11.12 |
|---|---|
| 예외처리(try-catch-finally) 제대로 이해하기 — 실전 에러 대응법 (1) | 2025.11.11 |
| 가장 흔한 자바 에러 10가지, 초보자도 쉽게 해결하는 디버깅 가이드 (0) | 2025.11.08 |
| JSP 코드 자동 정렬 단축키와 포맷 설정으로 가독성 높이기 (0) | 2025.11.06 |
| Java 초보 개발자를 위한 코드 줄맞춤과 주석 정리의 모든 것 (0) | 2025.11.05 |