메뉴 로딩...

빅데이터 전문가 양성과정

깃(Git)이란?

과제 제출 전 알아두면 좋은 Git·GitHub·Gist 기초를 단계별로 정리했습니다.

1-1. 이런 경험 있으신가요?

보고서_최종.docx
보고서_최종_수정.docx
보고서_진짜최종.docx
보고서_진짜진짜최종_v2.docx

파일을 수정할 때마다 이름을 바꿔서 저장한 경험, 다들 있으시죠? 코드도 마찬가지입니다. 기능을 추가하다가 갑자기 에러가 나면 "아까 되던 코드로 돌아가고 싶다!"는 생각이 들 때가 있습니다.

Git은 이 문제를 해결해줍니다.

1-2. Git이란?

Git은 버전 관리 시스템(VCS)입니다. 쉽게 말해 코드의 타임머신이자 세이브 포인트입니다.

게임에서 세이브를 하면 언제든 그 시점으로 돌아갈 수 있죠? Git도 마찬가지입니다. 코드가 잘 되는 시점에 "저장(커밋)"을 해두면, 나중에 코드가 망가져도 그 시점으로 돌아갈 수 있습니다.

1-3. Git vs GitHub

구분GitGitHub
정체프로그램 (내 컴퓨터에 설치)웹사이트 (인터넷 저장소)
비유내 컴퓨터의 세이브 파일클라우드에 올린 세이브 파일
역할버전 관리를 수행Git 저장소를 온라인에 보관
인터넷필요 없음필요함

정리하면 Git은 내 컴퓨터에서 돌아가는 도구이고, GitHub는 그 결과물을 인터넷에 올려두는 서비스입니다.

1-4. Git의 3가지 공간 (핵심 개념)

Git에는 파일이 거치는 3개의 공간이 있습니다. 이것만 이해하면 절반은 끝입니다.

작업 디렉토리
(Working Dir)
파일 수정
→
스테이징 영역
(Staging Area)
git add
→
저장소 (.git)
(Repository)
git commit

비유로 설명하면:

📝 책상 위에서 작업→📦 택배 상자에 담기→✅ 택배 발송 완료

2-1. 설치 확인

터미널(명령 프롬프트)을 열고 아래 명령어를 입력하세요.

git --version

git version 2.xx.x 같은 결과가 나오면 이미 설치되어 있는 것입니다.

2-2. 설치가 안 되어 있다면

운영체제설치 방법
Windowshttps://git-scm.com 에서 다운로드 후 설치 (기본 설정 그대로 Next)
Mac터미널에서 xcode-select --install 입력

2-3. 최초 1회 설정 (이름, 이메일)

Git을 처음 사용할 때 "나는 누구인지" 알려줘야 합니다. 아래 명령어에서 따옴표 안의 내용을 본인 정보로 바꿔 입력하세요.

git config --global user.name "홍길동"git config --global user.email "hong@example.com"

설정이 잘 됐는지 확인하려면 git config --list 를 입력합니다.

명령어 한눈에 보기

git init→ "여기서 Git 시작할게!"
git status→ "지금 상태가 어때?"
git add→ "이 파일 보낼 준비!"
git commit→ "저장 확정!"
git log→ "지금까지 기록 보여줘"

git init — 저장소 만들기

mkdir my_project
cd my_project
git init

git init을 실행하면 해당 폴더가 Git 저장소가 됩니다. 숨겨진 .git 폴더가 생성되는데, 이 폴더가 모든 버전 기록을 보관합니다.

⚠️ 주의사항: .git 폴더를 절대 직접 수정하거나 삭제하지 마세요!

git status — 현재 상태 확인

git status

이 명령어는 현재 어떤 파일이 수정되었고, 어떤 파일이 커밋 준비가 되었는지 알려줍니다.

출력 예시:

On branch main

Untracked files:          ← "Git이 아직 모르는 새 파일이 있어요"
  hello.py

Changes not staged:       ← "수정했지만 아직 add 안 한 파일"
  modified: main.py

Changes to be committed:  ← "add 완료! 커밋하면 저장됩니다"
  new file: utils.py

💡 팁: 뭘 해야 할지 모르겠으면 git status부터 치세요!

git add — 스테이징 (커밋 준비)

# 특정 파일 하나만 추가
git add hello.py

# 여러 파일 한번에 추가
git add hello.py main.py

# 현재 폴더의 모든 변경 파일 추가
git add .

git add는 '이 파일을 다음 커밋에 포함시키겠다'는 의미입니다.

git commit — 저장 확정

git commit -m "첫 번째 커밋: hello.py 추가"

-m 뒤에 오는 문자열은 커밋 메시지입니다. '이번에 뭘 했는지'를 간단히 적는 것입니다.

좋은 예:

  • 로그인 기능 추가
  • 비밀번호 유효성 검사 버그 수정
  • README 파일 작성

나쁜 예:

  • 수정
  • asdf
  • ㅋㅋ
  • 최종

git log — 커밋 기록 보기

# 전체 로그 보기
git log

# 한 줄씩 간단히 보기 (추천!)
git log --oneline

앞의 영문+숫자 조합은 커밋 ID입니다. 나중에 특정 시점으로 돌아갈 때 이 ID를 사용합니다.

출력 예시:

a1b2c3d (HEAD -> main) 비밀번호 검증 기능 추가
f4e5d6c 로그인 기능 구현
7a8b9c0 첫 번째 커밋: 프로젝트 생성

실습 목표

파이썬 파일을 만들고, 수정하면서 Git으로 버전을 관리해봅니다.

Step 1

프로젝트 폴더 생성 및 Git 초기화

mkdir python_practice
cd python_practice
git init

결과:

Initialized empty Git repository in .../python_practice/.git/
Step 2

첫 번째 파일 만들기

hello.py 파일을 만들고 아래 내용을 작성하세요.

# hello.py
print("안녕하세요! Git 실습입니다.")
Step 3

상태 확인 → 추가 → 커밋

git status          # hello.py가 Untracked로 표시됨
git add hello.py    # 스테이징
git status          # hello.py가 "Changes to be committed"로 변경됨
git commit -m "첫 번째 커밋: hello.py 생성"
Step 4

파일 수정 후 두 번째 커밋

hello.py 파일을 만들고 아래 내용을 작성하세요.

# hello.py
def greet(name):
    print(f"안녕하세요, {name}님! Git 실습입니다.")

greet("철수")
git status          # hello.py가 "modified"로 표시됨
git add hello.py
git commit -m "greet 함수 추가"
Step 5

새 파일 추가 후 세 번째 커밋

calculator.py 파일을 만들고 아래 내용을 작성하세요.

# calculator.py
def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

print(add(3, 5))        # 8
print(subtract(10, 4))  # 6
git add calculator.py
git commit -m "계산기 함수 추가 (add, subtract)"
Step 6

커밋 기록 확인

git log --oneline

결과:

c3d4e5f (HEAD -> main) 계산기 함수 추가 (add, subtract)
a1b2c3d greet 함수 추가
7a8b9c0 첫 번째 커밋: hello.py 생성

🎉 축하합니다! 3개의 버전(세이브 포인트)이 만들어졌습니다!

Step 7

과거 코드 확인해보기

# 첫 번째 커밋 시점의 hello.py 내용 보기
git show 7a8b9c0:hello.py

아까 작성한 첫 번째 버전의 코드가 보입니다. 이처럼 Git은 모든 변경 기록을 보관하고 있어서 언제든 과거 시점의 코드를 확인할 수 있습니다.

GitHub 가입

https://github.com 에서 계정을 만듭니다 (무료).

새 저장소(Repository) 만들기

  1. GitHub 우측 상단 + 버튼 클릭하고 New repository를 선택합니다
  2. Repository name에 python_practice를 입력합니다
  3. Public(공개)을 선택합니다
  4. 나머지는 체크하지 않고 Create repository를 클릭합니다

내 코드를 GitHub에 올리기

git remote add origin https://github.com/내아이디/python_practice.git
git branch -M main
git push -u origin main
명령어의미
git remote add origin 주소"이 GitHub 주소를 origin이라는 이름으로 연결해줘"
git branch -M main"현재 브랜치 이름을 main으로 할게"
git push -u origin main"내 커밋들을 GitHub에 올려줘!"

앞으로 코드를 수정할 때마다

이 3단계가 Git 사용의 기본 루틴입니다.

# 1. 코드 수정
# 2. add + commit
git add .
git commit -m "변경 내용 설명"

# 3. GitHub에 반영
git push

명령어 정리

git init새 저장소 만들기
git status현재 상태 확인
git add 파일명커밋할 파일 지정
git add .모든 변경 파일 지정
git commit -m ""변경사항 확정 저장
git log커밋 기록 보기
git log --oneline커밋 기록 한줄로 보기
git remote addGitHub 저장소 연결
git pushGitHub에 업로드

[일상 루틴]

코드 수정 → git add . → git commit -m "" → git push

자주 하는 실수 & 해결법

실수 1: '커밋할 게 없다고 나와요'

nothing to commit, working tree clean

add를 하지 않았거나, 파일을 수정하지 않은 상태입니다. git status로 현재 상태를 먼저 확인하세요.

실수 2: '커밋 메시지를 안 썼어요' (vim 화면이 나올 때)

-m 옵션 없이 git commit만 입력하면 텍스트 편집기(vim)가 열립니다.

당황하지 말고 아래를 입력하세요. :q! ← 저장 안 하고 나가기 그런 다음 -m 옵션을 붙여서 다시 커밋하세요. git commit -m "메시지 입력"

실수 3: 'add를 잘못했어요'

git reset HEAD 파일명 # 스테이징 취소 (파일 내용은 안 바뀜)

실수 4: '.git 폴더를 지워버렸어요'

.git 폴더가 삭제되면 모든 커밋 기록이 사라집니다. 복구 불가능하므로 이 폴더는 절대 삭제하지 마세요.