GitHub에 올리는 과정을 단계별로 정리 해볼께요.
1. 업로드 전 필수 준비 (VS Code 터미널에서 진행)
GitHub에 올리기 전에 프로젝트 폴더를 정리해야 합니다. 특히 **가상환경 폴더(venv)**나 DB 파일은 절대 올리면 안 됩니다.
① 라이브러리 목록 추출 (requirements.txt)
자바의 pom.xml처럼, 다른 사람이 이 프로젝트를 실행하려면 어떤 라이브러리가 필요한지 알려줘야 합니다.
# 가상환경이 켜진 상태((venv))에서 입력하세요
pip freeze > requirements.txt
- 이제 폴더에 requirements.txt 파일이 생겼을 겁니다. 열어보면 Django==X.X.X 등이 적혀있습니다.
② 무시할 파일 설정 (.gitignore)
프로젝트 **최상위 폴더(manage.py가 있는 곳)**에 .gitignore 라는 이름의 파일을 만들고 아래 내용을 복사해서 붙여넣으세요. (파일명 앞에 점 . 필수!)
# .gitignore 파일 내용
# 가상환경 폴더 (용량이 크고, OS마다 달라서 올리면 안 됨)
venv/
env/
# 파이썬 컴파일 파일
__pycache__/
*.pyc
# 데이터베이스 (개인 정보나 테스트 데이터가 있을 수 있으므로 제외)
db.sqlite3
# OS 시스템 파일
.DS_Store
2. GitHub에 업로드하기
이제 준비가 끝났으니 GitHub에 올려봅시다.
① GitHub 웹사이트 작업
- GitHub에 로그인하고 우측 상단 + 버튼 -> New repository 클릭.
- Repository name에 아까 정한 이름(예: django-board-tutorial) 입력.
- Public 체크.
- Create repository 버튼 클릭.
- 화면에 나오는 주소 (https://github.com/아이디/레포지토리명.git)를 복사해 두세요.
② 로컬(내 컴퓨터) 작업
VS Code 터미널에서 다음 명령어들을 순서대로 입력하세요.
# 1. 깃 초기화 (현재 폴더를 깃으로 관리하겠다)
git init
# 2. 모든 파일 담기 (단, .gitignore에 있는 건 제외됨)
git add .
# 3. 커밋 메시지 작성
git commit -m "Commit Message"
# 4. 깃허브 저장소와 연결 (주소는 본인 것으로 바꿔주세요!)
git remote add origin https://github.com/사용자ID/레파지토리명.git
# 5. 브랜치 이름을 main으로 변경 (요즘 기본값이 main입니다)
git branch -M main
# 6. 깃허브로 밀어넣기
git push -u origin main
Q: 3. 커밋 메시지 작성(git commit -m ~)을 진행하는데 .gitignore에 제외처리 한 파일이 추가되어 있어요.
A. 차근 차근 문제를 해결해봅시다.
💡 왜 이런 일이 생겼나요?
Git의 특성 때문입니다.
- .gitignore 파일을 만들었더라도, 그 파일을 만들기 전에(혹은 저장하기 전에) 이미 git add . 명령어가 실행되어 Git이 파일을 "물어버린" 상태라면, 나중에 .gitignore를 추가해도 무시하지 않습니다.
- 이미 커밋까지 되어버렸기 때문에, 지금 상태로 업로드하면 DB 파일(개인정보 포함 가능성 있음)과 불필요한 파일들이 다 올라갑니다.
🛠️ 해결 방법 (파일은 지우지 않고, Git 목록에서만 빼기)
당황하지 마시고, 터미널에 아래 명령어들을 순서대로 입력해주세요. (실제 소스코드는 지워지지 않으니 안심하세요!)
1. Git의 추적 목록(캐시) 초기화 현재 Git이 기억하고 있는 모든 파일을 목록에서 내립니다.
git rm -r --cached .
2. 다시 담기 (Re-add) 이제 .gitignore가 확실히 존재하는 상태에서 다시 담습니다. 이때 Git은 .gitignore를 읽고 DB와 pycache등 불필요한 파일을 걸러냅니다.
git add .
3. 잘 걸러졌는지 확인 (중요!) 아래 명령어를 쳐서 녹색 글씨 목록을 확인해보세요.
git status
- 확인 포인트: 목록 중에 db.sqlite3와 __pycache__/ 폴더들이 없어야 합니다.
- .gitignore 파일 자체는 목록에 있어야 합니다.
4. 커밋 덮어쓰기 (Amend) 아까 했던 커밋을 취소하고 새로 만드는 대신, 방금 정리한 내용으로 덮어씌웁니다.
git commit --amend -m "쓰고 싶은 commit message를 작성해주세요"
여기까지 하셨으면 불필요한 파일이 빠진 깔끔한 상태가 됩니다. 이제 안심하고 4번(원격 저장소 연결 및 푸시) 과정을 진행하시면 됩니다!
# 아까 중단했던 4번부터 진행
git remote add origin [복사한_주소]
git branch -M main
git push -u origin main
'알아두면 언젠간 유용할 몇 가지의 지식' 카테고리의 다른 글
| console 환경에서 git 병합 후 push (0) | 2026.01.11 |
|---|---|
| VS Code에서 ollama list 를 인식하지 못할 때 (0) | 2026.01.03 |
| Ollama Model 저장 경로 설정 방법 (0) | 2026.01.03 |
| Django 마이그레이션 불일치 (Migration Mismatch) 에러 관련 (0) | 2025.12.31 |
| pip install 을 사용해 설치했는데 인식하지 못할 때. (0) | 2025.12.23 |