

본격적으로 git과 GitHub에 대한 설명을 들어가기에 앞서 꼭 알아야 할 용어를 정리하고 가겠습니다.
💡로컬 저장소와 원격 저장소
- 레포지토리(Repository): 파일, 폴더 등을 저장하는 저장소
- 로컬 저장소(Local Repository, 로컬 레포지토리): 내 노트북에 있는 디렉토리
- 원격 저장소(Remote Repository, 원격 레포지토리): GitHub의 내 계정에 있는 Repository
레포지토리는 줄여서 레포(repo)라고 말하기도 합니다. 참고해 주세요!
git과 GitHub
git과 GitHub를 간단하게 요약하자면 git은 분산 버전 관리 시스템이고, GitHub는 git 기반의 웹 호스팅 서비스입니다. git이 처음이라면 요약된 한 문장만 보시면 이해가 안 되실 수 있습니다. 제가 풀어서 설명해 드릴게요.
git (깃)
git은 협업을 위한 버전 관리 시스템입니다. 여기서 버전 관리는 무엇일까요.
버전 관리
버전이라는 것은 모두들 아실 겁니다. 저희가 ctrl+s를 습관적으로 누르는 이유가 바로 최신 수정 버전으로 업데이트하려고 누르는 겁니다. 그럼 버전 관리는 무엇일까요. 문서 작업에서 ctrl+s를 누르면 새로운 버전으로만 저장이 되고, 이전 버전으로는 돌아갈 수 없어요. 하지만 버전 관리를 사용하면 특정 시점의 버전으로 쉽게 이동할 수 있습니다.

위 사진을 보시면 팀원 A, 팀원 B, 팀원 C가 협업을 하며 새로운 버전으로 업데이트하고 있습니다. 00버전을 팀원 A가 단독으로 수정해 01버전을 완성했습니다. 그 후 팀원 B, 팀원 C가 01버전을 각각 수정해 팀원 B의 02버전과 팀원 C의 02버전이 생겼습니다. 02버전이 두 가지가 생겼으니 하나의 02버전으로 병합을 해야 합니다.
이때 git을 사용하면 쉽게 병합이 가능합니다. 그리고 병합한 시점 후, 다시 팀원 C의 버전 02로도 돌아가고 싶다! 하시면 쉽게 돌아가실 수 있습니다. 마찬가지로 팀원 B의 버전02, 팀원 A의 버전01까지도 git을 사용한다면 되돌릴 수 있습니다.
즉, git을 사용하면 버전을 쉽게 관리할 수 있고 git의 버전 관리는 1) 특정 시점의 버전으로 쉽게 이동이 가능, 2) 팀원들의 코드를 쉽게 병합이 가능하다는 특징을 가지고 있습니다.
이제 코드들을 git을 사용해서 버전을 관리한다는 것은 아시겠죠? 근데 내 노트북에만 코드를 가지고 있으면 협업할 때 공유하기 쉽지 않습니다. 그래서 git을 사용하는 것입니다.
git의 동작 흐름

git을 사용해서 내 노트북에 있는 코드를 git의 로컬 레포지토리에 저장을 합니다. 이때 저장하는 명령어는 위의 그림에서 볼 수 있듯 add, commit이 있습니다.
코드를 로컬 레포지토리에 저장하면 push 명령을 사용해서 원격 레포지토리에 코드를 저장할 수 있습니다. 이때 원격 레포지토리를 웹 호스팅해 사용하기 편리하게 GUI로 만든 것이 GitHub가 되는 것입니다.
push해서 원격 레포지토리에 올린 코드는 다른 팀원들이 pull 명령어를 통해 본인의 로컬 레포지토리로 끌어올 수 있습니다.
위에 적힌 글이 이해가 잘 되지 않으셔도 git은 버전 관리를 해주는 시스템이고, GitHub는 git을 잘 사용하기 위한 웹 페이지라고 이해해 주시기만 해도 괜찮습니다. 다음 글에 git 명령어에 대한 글을 작성할 예정인데 이 글을 보시면 git의 흐름이 더 잘 이해되실 겁니다. 궁금한 것이 있다면 편하게 댓글 남겨주세요! 최대한 빠르게 답변해 드리겠습니다~
'Git' 카테고리의 다른 글
| [Git] 다른 브랜치로 github pull request 올리는 방법 (0) | 2025.03.02 |
|---|---|
| [Git] GitHub에 코드 올리는 Git 명령어 정리 (git clone, add, commit, pull, push, status) (0) | 2025.03.02 |
| [Git] GitHub와 디스코드 Webhook 연결을 통해 깃허브 업데이트 알림받기 (0) | 2025.02.19 |
| [Git] .gitignore에 .vscode 추가해도 삭제되지 않을 때 해결 방법 (0) | 2025.02.17 |