파이썬 프로젝트를 시작하기 전에 가상 환경을 설정하고, 필요한 라이브러리를 관리하며, GitHub와 연결하는 것은 필수적인 과정입니다. 이 가이드를 통해 깔끔하고 효율적인 개발 환경을 구축하는 방법을 알아보세요.
master
대신 main
을 사용하고, GitHub CLI를 사용해 터미널에서 원격 저장소를 생성하는 방법을 포함합니다.프로젝트별 독립적인 환경을 구축하여 의존성 충돌을 방지합니다. 또한, requirements.txt
파일을 사용하여 협업 시에도 동일한 환경을 쉽게 구축할 수 있습니다.
터미널 열기 및 프로젝트 폴더로 이동
VS Code에서 Ctrl + `
(백틱)을 눌러 터미널을 열고, 프로젝트를 생성할 폴더로 이동합니다.
가상 환경 생성 및 활성화
다음 명령어를 입력하여 가상 환경을 생성하고 활성화합니다. .venv
는 가상 환경 폴더명으로, 일반적으로 권장되는 이름입니다.
# 가상 환경 생성
python -m venv .venv
# 가상 환경 활성화 (Windows)
.venv\Scripts\activate
# 가상 환경 활성화 (macOS / Linux)
source .venv/bin/activate
터미널 프롬프트 앞에 (.venv)
가 표시되면 성공입니다.
VS Code 인터프리터 설정
Ctrl + Shift + P
를 눌러 명령 팔레트를 열고 Python: Select Interpreter
를 검색합니다. 그리고 조금 전 생성한 가상 환경의 파이썬 인터프리터(예: .venv\Scripts\python.exe
)를 선택합니다.
requirements.txt
로 패키지 설치
requirements.txt
파일이 있다면, 다음 명령어로 파일에 명시된 모든 패키지를 한 번에 설치할 수 있습니다.
pip install -r requirements.txt
만약 파일을 직접 만들고 싶다면, 현재 가상 환경에 설치된 패키지 목록을 다음 명령어로 파일에 저장할 수 있습니다.
pip freeze > requirements.txt
.gitignore
파일 생성 (가상 환경 및 민감 정보 연동 방지)로컬 개발 환경 파일이나 API 키와 같은 민감한 정보는 Git에 포함되지 않도록 설정해야 합니다. .gitignore
파일을 만들고, 여기에 무시할 파일이나 폴더를 명시하면 됩니다.
.gitignore
파일 생성
프로젝트 최상위 폴더에 .gitignore
라는 이름의 파일을 생성합니다. 파일명 맨 앞에 점(.)이 붙어있다는 점에 유의하세요.
파일 내용 작성
다음 내용을 .gitignore
파일에 붙여넣습니다. 이렇게 하면 .venv
폴더, 환경 변수 파일, 바이트코드 등 불필요하거나 민감한 파일들이 Git 추적 대상에서 제외됩니다.
# Python 가상 환경 폴더
.venv/
# 환경 변수 파일 (API 키, 비밀번호 등 민감 정보 포함)
.env
# 바이트코드 파일 (로컬에서 생성되는 파일)
__pycache__/
*.pyc
# VS Code 설정 파일 (선택 사항)
.vscode/
# 기타 불필요한 파일들
*.log
*.sqlite3
이제 Git이 .venv
폴더와 .env
파일을 무시하므로, 다음 단계에서 안전하게 Git 저장소를 초기화할 수 있습니다.
프로젝트 코드를 버전 관리하고 GitHub에 공유할 차례입니다. `gh` CLI로 로그인하고, 로컬 폴더에 원격 저장소를 연결합니다. Git의 기본 브랜치는 main
으로 설정하는 것이 좋습니다.
Git 저장소 초기화 (main 브랜치로)
다음 명령어를 사용하여 현재 폴더를 Git 저장소로 초기화하고, 기본 브랜치 이름을 main
으로 설정합니다. 이렇게 하면 master
브랜치가 생성되지 않습니다.
git init -b main
GitHub CLI로 로그인하기
GitHub CLI가 설치되어 있다면, 다음 명령어로 GitHub 계정에 로그인할 수 있습니다. 이미 로그인되어 있다면 건너뛰셔도 됩니다.
gh auth login
이 명령어를 실행하면 터미널이 안내를 시작하고, 웹 브라우저에서 인증을 요청합니다.
터미널 안내에 따라 인증 진행하기
1. 터미널에서 **`GitHub.com`**을 선택하고, **`HTTPS`**를 선택합니다. 2. 터미널에 8자리 인증 코드가 나타나면, 자동으로 열리는 웹 브라우저의 **’Device Activation’** 페이지에 해당 코드를 입력합니다. 3. 이후 GitHub 계정 로그인 후, **’Authorize github’** 버튼을 클릭하여 `gh` CLI의 접근 권한을 부여합니다. 4. 인증이 완료되면 터미널에 성공 메시지가 나타나며 로그인 과정이 끝납니다.
GitHub에 새 저장소 생성 및 연결
로그인이 완료되었다면, 다음 명령어를 사용해 GitHub에 새 저장소를 생성하고 로컬 프로젝트와 연결합니다. 프로젝트 이름(auto_upload
)을 본인의 프로젝트명으로 변경하세요.
gh repo create auto_upload --public
이 명령어는 GitHub에 `auto_upload`라는 이름의 공개(public) 저장소를 생성합니다. 이제 로컬 폴더의 내용을 푸시할 준비가 된 것입니다.
이제 로컬 프로젝트의 내용을 원격 저장소에 업로드합니다. `add`, `commit`, `push` 세 가지 명령어를 사용합니다.
변경 파일 스테이징(Staging)
프로젝트 폴더의 모든 파일을 Git이 추적하도록 스테이징 영역에 추가합니다.
git add .
첫 커밋(Commit) 생성
스테이징된 파일들을 하나의 버전으로 저장하고, 커밋 메시지를 작성합니다.
git commit -m "Initial commit"
GitHub에 푸시(Push)
로컬에 저장된 커밋 이력을 GitHub 원격 저장소로 업로드합니다. 이제 GitHub에서 프로젝트 코드를 확인할 수 있습니다.
git push -u origin main
프로젝트 개발 중에 특정 시점의 코드를 확인하거나 이전 버전으로 돌아가야 할 때가 있습니다. Git의 커밋 히스토리를 이용하면 쉽게 원하는 시점으로 이동할 수 있습니다.
커밋 히스토리 확인
다음 명령어를 터미널에 입력하여 지금까지의 모든 커밋 목록을 확인합니다. 각 커밋에는 고유한 commit ID
가 있습니다.
git log
커밋 메시지와 함께 ID를 확인하고, 돌아가고 싶은 버전의 ID(예: a1b2c3d4...
)를 복사해둡니다.
특정 커밋으로 이동
git checkout
명령어를 사용하여 원하는 커밋으로 이동할 수 있습니다. 이 상태를 “분리된 HEAD(detached HEAD)” 상태라고 하며, 잠시 옛날 코드를 확인하는 용도로 사용됩니다.
git checkout [복사한_커밋_ID]
주의: 이 상태에서 새로운 커밋을 하면 해당 커밋은 어떤 브랜치에도 속하지 않게 되어 나중에 찾기 어려워질 수 있습니다. 새로운 작업을 시작하려면 새로운 브랜치를 만들고 진행하는 것이 좋습니다.
메인 브랜치로 복귀
작업을 마친 후에는 다음 명령어로 다시 최신 코드의 main
브랜치로 돌아올 수 있습니다.
git checkout main