1️⃣ Git과 GitHub의 차이
Git은 분산 버전 관리 시스템이다. 소스 코드의 변경 사항을 추적하고, 코드의 버전을 관리하며, 여러 개발자와 협업할 수 있게 도와준다. 여기서 핵심은 Git은 중앙 서버에 의존하지 않고 각 개발자가 로컬에서 자신의 작업을 관리할 수 있다는 점이다.
GitHub는 Git을 사용하는 프로젝트를 관리하고 협업할 수 있도록 지원하는 클라우드 기반 플랫폼이다. GitHub는 코드를 저장소 서비스를 지원할 뿐만 아니라. Pull Request, Issus관리 등 다양한 기능을 제공한다.
2️⃣ Git의 동작 원리
Git의 기본 작업 흐름은 크게 "작업 공간", "스테이징 영역", " 로컬 저장소", "원격 저장소" 4개의 공간을 통해 이루어진다.
예를 들어! 내가 컴퓨터에서 코드를 작성하고 Git를 사용해 이 코드를 저장소에 추가하는 과정은 다음과 같다.
- 작업 공간 : 내가 코드를 작성하고 수정하는 공간이다. 이 공간에서 파일을 수정한 상태는 아직 Git에서 관리되지 않는다. 단순히 로컬의 파일로 존재한다.
- git add : git add 명령어를 사용해 수정된 파일이 "Staging 영역"에 이 추가된다. 이 영역은 커밋 준비 단계로, 아직 영구 저장된 상태는 아니지만 커밋할 목록에 포함된 상태이다.
- git commit : git commit -m "커밋 메시지" 명령어를 실행하면 "Staging 영역" 에 있는 변경 사항이 "Local 저장소"에 영구 저장된다.
- git push : 마지막으로 git push 명령어를 실행하면, 로컬 저장소에 있는 커밋이 "Remote 저장소"에 업로드된다. 즉, GitHub에 업로드되는 것이다.
그림으로 살펴보면 다름과 같다.

3️⃣ 코드로 살펴보는 동작 원리
1. git add
<Woring Directory -> Staging Area>

2. git commit
<Staging Area -> Local Repository>

3. git push
<Local Repository -> Remote Repository>

https://f-lab.kr/insight/git-vs-github
깃(Git)과 깃허브(GitHub)의 차이점 및 협업에서의 활용 방법
깃(Git)과 깃허브(GitHub)의 기본 개념, 주요 차이점 및 협업 프로젝트에서의 활용 방법에 대해 설명합니다.
f-lab.kr
https://www.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS2036561776
[Git, GitHub] 깃, 깃허브란?
✅버전 관리란?먼저 버전 관리란? 개발 경험이 없더라도 누구나 한 번쯤은 버전 관리의 경험이 있을거예요. RPG 게임할 때를 떠올려 보세요. 한 캐릭터로 게임을 진행하다가 게임을 종료하기 전
www.hanbit.co.kr
'📚 CS > 그 외' 카테고리의 다른 글
| [CS] 디자인 패턴 - 구조 패턴 (0) | 2024.11.20 |
|---|---|
| [CS] 디자인 패턴 - 생성패턴 (3) | 2024.11.19 |
| [JAVA] 클래스 vs 객체 vs 인스턴스, 무엇이 다를까? (0) | 2024.09.24 |
| JSON - 직렬화, 역직렬화 (0) | 2024.09.23 |
| [CS] 디자인 패턴 (3) - MVVM (0) | 2024.06.23 |