📌 Git이란?
VCS (Version Control System, 버전관리 시스템)이다.
즉, 파일의 변경 이력을 관리해주는 도구로, 이전 버전으로 되돌아가거나 협업할 때 누가 어떤 코드를 수정했는지 추적할 수 있게 해준다.
버전관리 필요한 이유
- 여러 사람이 동시에 작업해도 충돌없이 병합 가능
- 누가 언제 어떤 코드를 수정했는지 확인 가능.
- 팀원들과 같은 파일을 수정하거나 작업 내용이 겹쳐 충돌이 일어날 경우에도 이전 상태를 불러올 수 있어 안전함.
Git vs. GitHub
| \ | Git | GitHub |
| 역할 | 로컬에서 버전 관리 | Git 저장소를 클라우드에서 관리 (원격 저장소) |
| 설치 여부 | 직접 설치 필요, 내 컴퓨터에 설치 | 웹사이트 가입 or GitHub Desktop 설치 |
| 핵심 기능 | 커밋, 브랜치, 머지 등 CLI 사용 | Git 저장소를 올리고 협업할 수 있는 플랫폼 |
| 사용 목적 | 개인 작업, 로컬 관리 파일의 변경 이력 기록, 되돌리기 등 |
협업, 백업, 오픈소스 공유 등 Git 변경 내용을 업로드, 팀과 공유 |
📌 GitHub로 협업하기
GitHub에 원격 저장소(repository) 만들기
- 팀원이 함께 접근할 수 있도록 GitHub에 새 저장소를 생성
- 권한 있는 사람들은 이 저장소를 클론하거나 포크할 수 있음
로컬에 저장소 복제(clone)
- 내 컴퓨터에 원격 저장소를 복제해서 작업 시작
브랜치(branch) 생성 후 작업
- 브랜치 단위로 작업하면 충돌 최소화 가능
- main 브랜치를 그대로 수정하지 않고, 새 브랜치에서 기능 단위로 작업
- 브랜치 이름은 보통 feature/, fix/, hotfix/처럼 접두어를 붙여 구분
변경 사항 저장 (commit)
- 커밋 메시지는 명확하게 작성
원격 저장소에 푸시(push)
- 작업 내용을 GitHub로 올림
Pull Request(PR) 생성
- GitHub에서 main 브랜치로 병합하기 위한 요청을 만듦
- 다른 팀원이 코드 리뷰를 하고 승인하면 병합 가능
코드 병합(Merge)
- PR이 승인되면 GitHub에서 main 브랜치로 병합
- 충돌이 생기면 수동으로 해결 후 병합
팀원들끼리 작업 동기화 (pull)
- 병합된 최신 코드를 각자 로컬에 반영해서 코드 충돌을 방지
💡 느낀 점
- Git과 GitHub는 이름이 비슷하지만 역할이 확실히 다르다.
(Git = 로컬 버전 관리, GitHub = 원격 저장소) - GitHub Desktop 덕분에 CLI를 자세히 알지 못해도 버전 관리 시작은 수월하게 가능
❓ 기억하고 싶은 것
- 로컬 폴더에 .git 폴더가 생기면, 그 폴더는 이제 Git이 추적하는 저장소 (삭제하면 안됨)
- 커밋은 “변경사항을 저장”, 푸시는 “원격 저장소로 업로드”

'TIL' 카테고리의 다른 글
| 구조체(struct) vs 클래스(class) (0) | 2025.04.14 |
|---|---|
| 내일배움캠프 5일차 TIL (0) | 2025.04.11 |
| 내일배움캠프 4일차 TIL (0) | 2025.04.10 |
| 내일배움캠프 3일차 TIL (0) | 2025.04.09 |
| 내일배움캠프 2일차 TIL (0) | 2025.04.08 |