Skip to content

Git 기초

Hyun-woo Bae edited this page Jul 19, 2026 · 2 revisions

한국어 · English

Git 기초

Git을 처음 배우는 사람을 위한 가장 중요한 7가지 개념입니다. 어렵지 않습니다!


저장소(Repository)

저장소 = 프로젝트 폴더 + 전체 변경 이력

파일들을 Git으로 관리하는 폴더입니다. 모든 변경 내용이 기록되어서, 언제든 "이 파일은 어제 오후 3시에 누가 뭘 바꿨지?"라고 확인할 수 있습니다.

Git Tab에서: 메인 창에서 폴더를 열면 저장소가 로드됩니다. 좌측 상단에 저장소 이름이 표시됩니다.


커밋(Commit)

커밋 = 파일 변경사항의 스냅샷(사진)

어떤 파일을 수정하고 "이 상태를 저장하고 싶다!"라고 생각할 때, 버튼 하나로 그 순간을 기록합니다. 마치 게임을 할 때 세이브 포인트를 만드는 것처럼요. 각 커밋마다 설명(메시지)을 붙이면 나중에 왜 이렇게 했는지 쉽게 기억할 수 있습니다.

예: "회원가입 폼 버그 수정", "다크 테마 추가", "로그인 로직 리팩토링"

Git Tab에서: 우측 상단 "커밋" 섹션에서 파일을 선택하고 메시지를 입력한 후 "커밋" 버튼을 클릭합니다. 그러면 좌측의 커밋 그래프에 새 동그라미가 나타납니다.


브랜치(Branch)

브랜치 = 평행 작업 공간

메인 작업(보통 main 또는 master)을 건드리지 않으면서 새로운 기능을 따로 개발할 수 있습니다. 마치 게임에서 "이 스토리라인은 어떻게 끝나볼까?"라고 다른 세이브 파일에서 실험하는 것처럼요. 준비가 되면 메인 브랜치로 합칩니다(병합).

예: main 브랜치에서 feature/새기능 브랜치를 만들어 작업 → 테스트 완료 후 main으로 병합

Git Tab에서: 상단 "브랜치" 탭에서 새 브랜치를 만들 수 있습니다. 브랜치 목록을 보거나 브랜치를 전환(체크아웃)할 수 있습니다.


스테이징(Staging Area)

스테이징 = 커밋 전 "준비 구역"

파일을 수정했다고 해서 자동으로 커밋되지 않습니다. "이 파일들만 지금 커밋하고 싶어"라고 선택하는 단계가 필요합니다. 이를 "스테이징"이라고 부릅니다. 예를 들어 10개 파일을 수정했지만 5개만 커밋하고 싶을 때 유용합니다.

Git Tab에서: 우측에 "변경사항" 목록이 있습니다. 커밋하고 싶은 파일 앞의 체크박스를 클릭하거나, 파일을 우클릭해 "스테이징" 옵션을 선택합니다.


원격(Remote)

원격 = 다른 컴퓨터나 서버의 저장소

코드를 백업하거나 다른 사람들과 공유하기 위해 GitHub, GitLab 등의 서버에 저장소를 올립니다. 이를 "원격"이라고 부릅니다. 가장 흔한 이름은 origin입니다.

Git Tab에서: 설정 메뉴에서 "원격" 섹션을 확인할 수 있습니다. GitHub 저장소 주소(URL)를 설정하면 원격 연결이 완성됩니다.


Push / Pull / Fetch

이 세 가지는 자주 헷갈립니다. 간단히 정리하면:

Push (밀어올리기)

내 컴퓨터의 커밋들을 GitHub/GitLab 같은 서버로 올립니다. "내가 한 일을 공개하거나 백업하겠다"는 의미입니다.

Git Tab에서: 우상단 "Push" 버튼을 클릭합니다. 인증이 필요하면 사용자 이름과 토큰을 입력합니다.

Pull (끌어내리기)

서버의 최신 버전을 내 컴퓨터로 다운로드합니다. 팀원이 올린 새 커밋을 받으려면 Pull을 합니다. "Fetch + Merge"를 한 번에 하는 것입니다.

Git Tab에서: 우상단 "Pull" 버튼을 클릭합니다.

Fetch (불러오기)

서버의 최신 정보를 확인하기만 하고, 아직 병합하지 않습니다. "뭐가 새로 올라왔나 보기만 하겠다"는 의미입니다. Pull보다 안전합니다.

Git Tab에서: "Fetch" 버튼을 찾아 클릭합니다.

팁: 처음에는 "Pull이 제일 간단하다"고만 기억해도 됩니다.


병합(Merge)과 충돌(Conflict)

병합(Merge)

두 브랜치를 합칩니다. "새 기능 완성했으니 메인 코드에 넣어!"라고 할 때 씁니다.

Git Tab에서: 우측 "브랜치" 탭에서 병합할 브랜치를 선택하고 우클릭 → "Merge" 옵션을 선택합니다.

충돌(Conflict)

같은 파일의 같은 부분을 두 사람이 다르게 수정했을 때 발생합니다. Git은 "어느 쪽을 선택할까?"라고 물어봅니다.

예:

<<<<<<< HEAD
너가 수정한 부분
=======
다른 사람이 수정한 부분
>>>>>>> 새기능

Git Tab에서: 충돌이 발생하면 파일이 특별히 표시됩니다. Git Tab 우측에서 "충돌 해결" 옵션으로 둘 중 선택하거나 직접 수정할 수 있습니다.

처음에는 무섭지만, 팀원 1~2명 정도면 거의 안 생깁니다.


태그(Tag)

태그 = 특정 커밋에 붙이는 이름표

"이 커밋이 1.0.0 버전입니다"라고 표시하고 싶을 때 씁니다. 나중에 "아, 1.0.0은 어디까지 작업한 거였지?"라고 쉽게 찾을 수 있습니다.

Git Tab에서: 커밋을 우클릭 → "태그 생성"을 선택합니다. 태그 이름을 입력하면 완료됩니다.


스태시(Stash)

스태시 = 임시 보관함

작업 중인 파일들이 있지만 아직 커밋하고 싶지 않을 때, 임시로 보관했다가 나중에 꺼낼 수 있습니다. "아, 급하게 버그를 고쳐야 하는데 지금 작업 중인 거 때문에 브랜치 전환이 안 돼!"라는 상황에서 유용합니다.

Git Tab에서: 우측 메뉴에서 "스태시 저장" 버튼을 클릭합니다. 나중에 "스태시 꺼내기"를 선택하면 다시 작업을 시작할 수 있습니다.


정리하기

용어 언제 쓰나?
저장소 프로젝트 폴더 + 변경 이력 처음부터 끝까지 항상
커밋 변경사항 스냅샷 수정을 마친 후
브랜치 평행 작업 공간 새 기능 개발할 때
스테이징 커밋 전 준비 특정 파일만 선택할 때
원격 서버의 저장소 GitHub 등에 연결할 때
Push 서버로 올리기 작업 완료 후 공유할 때
Pull 서버에서 받기 팀원 코드 다운로드할 때
Merge 브랜치 합치기 새 기능 완성 후
Conflict 병합 충돌 같은 부분 동시 수정 시
Tag 버전 이름표 버전 출시할 때
Stash 임시 보관 급하게 다른 작업 할 때

다음 단계

  • Git Tab으로 어떻게 하는지 알고 싶다면: 기능 둘러보기 페이지를 읽어보세요.
  • GitHub 연결이 필요하다면: 인증 설정 페이지를 확인하세요.

Clone this wiki locally