보고서를 작성하다 보면 이런 파일명을 만들게 됩니다: 보고서_v1.docx, 보고서_v2.docx, 보고서_최종.docx, 보고서_최종_진짜.docx... Git은 이런 혼란을 해결해주는 버전 관리 도구입니다.
이 글에서 할 것
- 파일명으로 버전 관리할 때의 문제 체험하기
- Git이 해결하는 4가지 핵심 문제 알아보기
- Git과 GitHub의 차이 이해하기
왜 이 도구가 필요한가
버전 관리 문제 체험
보고서를 작성하고 있습니다:
보고서_v1.docx
보고서_v2.docx
보고서_최종.docx
보고서_최종_진짜.docx
보고서_최종_진짜_최종.docx
보고서_최종의최종의최종.docx
문제점:
- 어떤 파일이 최신인지 모름
- 이전 버전으로 되돌리기 어려움
- 무엇이 변경되었는지 기억 안 남
- 협업 시 파일 공유가 어려움
코드에서의 문제
# calculator_v1.py
def add(a, b):
return a + b
# calculator_v2.py
def add(a, b):
return a + b
def subtract(a, b):
return a - b
# calculator_최종.py
# ...?
기능을 추가할 때마다 파일을 복사해서 이름을 바꾸면:
- 나중에 어떤 파일이 진짜 최종인지 헷갈림
- 빼기 기능을 추가한 후에 버그가 생겨서 더하기 기능으로 돌아가고 싶을 때, 어떤 파일이 그 버전인지 찾기 어려움
- 동료와 함께 작업할 때, 누가 어떤 파일을 수정했는지 알 수 없음
먼저 한 번 체험핵 보기
Git이 해결하는 문제
1. 버전 히스토리 관리
git log
출력:
commit 3: 버그 수정
commit 2: 빼기 기능 추가
commit 1: 더하기 기능 추가
언제 어떤 변경을 했는지 한눈에 볼 수 있습니다.
2. 언제든 과거로 돌아가기
git checkout 이전버전
실수로 잘못 수정했거나, 예전 버전이 필요할 때 즉시 되돌릴 수 있습니다.
3. 변경 내역 확인
git diff
출력:
+ def subtract(a, b):
+ return a - b
무엇이 추가되고, 무엇이 삭제되었는지 정확히 보여줍니다.
4. 협업
git push # GitHub에 올리기
git pull # 동료 변경사항 가져오기
여러 사람이 동시에 작업해도 변경사항을 안전하게 합칠 수 있습니다.
이 도구를 쓰면 달라지는 점
Git vs GitHub
| Git | GitHub |
|---|---|
| 로컬 버전 관리 도구 | Git 저장소 호스팅 서비스 |
| 설치 필요 | 웹사이트 가입 |
| 내 컴퓨터에서 작동 | 인터넷으로 접속 |
| 명령어 기반 | 웹 인터페이스 + Git |
관계:
- Git = 칼
- GitHub = 칼집
Git으로 버전을 관리하고, GitHub에 저장해두면 어디서든 접근할 수 있습니다.
Git 사용 전후 비교
| 상황 | Git 사용 전 | Git 사용 후 |
|---|---|---|
| 파일 백업 | 복사본 여러 개 | git commit 한 번으로 해결 |
| 되돌리기 | 수동으로 찾아서 복구 | git checkout으로 즉시 이동 |
| 변경 내역 | 기억에 의존 | git log로 정확히 확인 |
| 협업 | 파일 주고받기 | git push/pull로 동기화 |
이런 사람에게 특히 추천
- 코드를 안전하게 관리하고 싶은 개발자
- 팀 프로젝트에서 협업하고 싶은 학생
- "최종본_진짜최종" 파일명의 불편함을 겪은 사람
- 나중에 포트폴리오로 보여줄 프로젝트를 관리하고 싶은 사람
한 번에 정리
| 질문 | 답변 |
|---|---|
| Git이 뭔가요? | 버전 관리 도구 |
| 왜 필요한가요? | 파일명으로 버전 관리하면 헷갈리고 위험함 |
| GitHub는 뭔가요? | Git 저장소를 올려두는 웹사이트 |
| 어렵지 않은가요? | 기본 명령어 5개만 익히면 바로 사용 가능 |
Git의 핵심 장점:
- 안전함 - 실수로 지워도 복구 가능
- 투명함 - 누가 언제 무엇을 바꿨는지 알 수 있음
- 협업 - 여러 사람이 동시에 작업 가능
다음 편 안내
Git의 필요성을 이해하셨다면, 이제 직접 설치하고 설정해 봅시다.
Git 시리즈 2편: 설치와 기본 설정에서는 Git을 설치하고 사용자 정보를 설정하는 전 과정을 실제 명령어와 함께 실습합니다.
실습 완료 체크리스트
- 버전 관리 문제 이해
- Git이 해결하는 4가지 문제 파악
- Git과 GitHub 차이 이해
💬 댓글
이 글에 대한 의견을 남겨주세요