-
Notifications
You must be signed in to change notification settings - Fork 0
Git 기초
한국어 · English
Git을 처음 배우는 사람을 위한 가장 중요한 7가지 개념입니다. 어렵지 않습니다!
저장소 = 프로젝트 폴더 + 전체 변경 이력
파일들을 Git으로 관리하는 폴더입니다. 모든 변경 내용이 기록되어서, 언제든 "이 파일은 어제 오후 3시에 누가 뭘 바꿨지?"라고 확인할 수 있습니다.
Git Tab에서: 메인 창에서 폴더를 열면 저장소가 로드됩니다. 좌측 상단에 저장소 이름이 표시됩니다.
커밋 = 파일 변경사항의 스냅샷(사진)
어떤 파일을 수정하고 "이 상태를 저장하고 싶다!"라고 생각할 때, 버튼 하나로 그 순간을 기록합니다. 마치 게임을 할 때 세이브 포인트를 만드는 것처럼요. 각 커밋마다 설명(메시지)을 붙이면 나중에 왜 이렇게 했는지 쉽게 기억할 수 있습니다.
예: "회원가입 폼 버그 수정", "다크 테마 추가", "로그인 로직 리팩토링"
Git Tab에서: 우측 상단 "커밋" 섹션에서 파일을 선택하고 메시지를 입력한 후 "커밋" 버튼을 클릭합니다. 그러면 좌측의 커밋 그래프에 새 동그라미가 나타납니다.
브랜치 = 평행 작업 공간
메인 작업(보통 main 또는 master)을 건드리지 않으면서 새로운 기능을 따로 개발할 수 있습니다. 마치 게임에서 "이 스토리라인은 어떻게 끝나볼까?"라고 다른 세이브 파일에서 실험하는 것처럼요. 준비가 되면 메인 브랜치로 합칩니다(병합).
예:
main브랜치에서feature/새기능브랜치를 만들어 작업 → 테스트 완료 후main으로 병합
Git Tab에서: 상단 "브랜치" 탭에서 새 브랜치를 만들 수 있습니다. 브랜치 목록을 보거나 브랜치를 전환(체크아웃)할 수 있습니다.
스테이징 = 커밋 전 "준비 구역"
파일을 수정했다고 해서 자동으로 커밋되지 않습니다. "이 파일들만 지금 커밋하고 싶어"라고 선택하는 단계가 필요합니다. 이를 "스테이징"이라고 부릅니다. 예를 들어 10개 파일을 수정했지만 5개만 커밋하고 싶을 때 유용합니다.
Git Tab에서: 우측에 "변경사항" 목록이 있습니다. 커밋하고 싶은 파일 앞의 체크박스를 클릭하거나, 파일을 우클릭해 "스테이징" 옵션을 선택합니다.
원격 = 다른 컴퓨터나 서버의 저장소
코드를 백업하거나 다른 사람들과 공유하기 위해 GitHub, GitLab 등의 서버에 저장소를 올립니다. 이를 "원격"이라고 부릅니다. 가장 흔한 이름은 origin입니다.
Git Tab에서: 설정 메뉴에서 "원격" 섹션을 확인할 수 있습니다. GitHub 저장소 주소(URL)를 설정하면 원격 연결이 완성됩니다.
이 세 가지는 자주 헷갈립니다. 간단히 정리하면:
내 컴퓨터의 커밋들을 GitHub/GitLab 같은 서버로 올립니다. "내가 한 일을 공개하거나 백업하겠다"는 의미입니다.
Git Tab에서: 우상단 "Push" 버튼을 클릭합니다. 인증이 필요하면 사용자 이름과 토큰을 입력합니다.
서버의 최신 버전을 내 컴퓨터로 다운로드합니다. 팀원이 올린 새 커밋을 받으려면 Pull을 합니다. "Fetch + Merge"를 한 번에 하는 것입니다.
Git Tab에서: 우상단 "Pull" 버튼을 클릭합니다.
서버의 최신 정보를 확인하기만 하고, 아직 병합하지 않습니다. "뭐가 새로 올라왔나 보기만 하겠다"는 의미입니다. Pull보다 안전합니다.
Git Tab에서: "Fetch" 버튼을 찾아 클릭합니다.
팁: 처음에는 "Pull이 제일 간단하다"고만 기억해도 됩니다.
두 브랜치를 합칩니다. "새 기능 완성했으니 메인 코드에 넣어!"라고 할 때 씁니다.
Git Tab에서: 우측 "브랜치" 탭에서 병합할 브랜치를 선택하고 우클릭 → "Merge" 옵션을 선택합니다.
같은 파일의 같은 부분을 두 사람이 다르게 수정했을 때 발생합니다. Git은 "어느 쪽을 선택할까?"라고 물어봅니다.
예:
<<<<<<< HEAD
너가 수정한 부분
=======
다른 사람이 수정한 부분
>>>>>>> 새기능
Git Tab에서: 충돌이 발생하면 파일이 특별히 표시됩니다. Git Tab 우측에서 "충돌 해결" 옵션으로 둘 중 선택하거나 직접 수정할 수 있습니다.
처음에는 무섭지만, 팀원 1~2명 정도면 거의 안 생깁니다.
태그 = 특정 커밋에 붙이는 이름표
"이 커밋이 1.0.0 버전입니다"라고 표시하고 싶을 때 씁니다. 나중에 "아, 1.0.0은 어디까지 작업한 거였지?"라고 쉽게 찾을 수 있습니다.
Git Tab에서: 커밋을 우클릭 → "태그 생성"을 선택합니다. 태그 이름을 입력하면 완료됩니다.
스태시 = 임시 보관함
작업 중인 파일들이 있지만 아직 커밋하고 싶지 않을 때, 임시로 보관했다가 나중에 꺼낼 수 있습니다. "아, 급하게 버그를 고쳐야 하는데 지금 작업 중인 거 때문에 브랜치 전환이 안 돼!"라는 상황에서 유용합니다.
Git Tab에서: 우측 메뉴에서 "스태시 저장" 버튼을 클릭합니다. 나중에 "스태시 꺼내기"를 선택하면 다시 작업을 시작할 수 있습니다.
| 용어 | 뜻 | 언제 쓰나? |
|---|---|---|
| 저장소 | 프로젝트 폴더 + 변경 이력 | 처음부터 끝까지 항상 |
| 커밋 | 변경사항 스냅샷 | 수정을 마친 후 |
| 브랜치 | 평행 작업 공간 | 새 기능 개발할 때 |
| 스테이징 | 커밋 전 준비 | 특정 파일만 선택할 때 |
| 원격 | 서버의 저장소 | GitHub 등에 연결할 때 |
| Push | 서버로 올리기 | 작업 완료 후 공유할 때 |
| Pull | 서버에서 받기 | 팀원 코드 다운로드할 때 |
| Merge | 브랜치 합치기 | 새 기능 완성 후 |
| Conflict | 병합 충돌 | 같은 부분 동시 수정 시 |
| Tag | 버전 이름표 | 버전 출시할 때 |
| Stash | 임시 보관 | 급하게 다른 작업 할 때 |