[Git 시리즈 1편] Git이 뭔가요?

한국어 버전

보고서를 작성하다 보면 이런 파일명을 만들게 됩니다: 보고서_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의 핵심 장점:

  1. 안전함 - 실수로 지워도 복구 가능
  2. 투명함 - 누가 언제 무엇을 바꿨는지 알 수 있음
  3. 협업 - 여러 사람이 동시에 작업 가능

다음 편 안내

Git의 필요성을 이해하셨다면, 이제 직접 설치하고 설정해 봅시다.

Git 시리즈 2편: 설치와 기본 설정에서는 Git을 설치하고 사용자 정보를 설정하는 전 과정을 실제 명령어와 함께 실습합니다.


실습 완료 체크리스트

  • 버전 관리 문제 이해
  • Git이 해결하는 4가지 문제 파악
  • Git과 GitHub 차이 이해

💬 댓글

이 글에 대한 의견을 남겨주세요