목차
GitHub와 연동하기 - 내 코드를 세상과 공유하기
드디어 GitHub와 연동할 시간입니다! 🎉 이제 내 컴퓨터에 있는 코드를 인터넷에 올려서 어디서든 접근할 수 있고, 다른 사람들과 공유할 수 있게 됩니다. 차근차근 따라해보세요!
1. 🌐 GitHub가 뭔가요? 다시 한 번 정리해보기
GitHub = 개발자들의 구글 드라이브
1) 왜 GitHub을 사용하나요?
- 📱 어디서든 접근: 집, 회사, 카페 어디서든 내 코드에 접근 가능
- 🔒 안전한 백업: 컴퓨터가 고장나도 코드가 안전하게 보관됨
- 👥 협업: 팀원들과 함께 프로젝트 진행 가능
- 🌍 포트폴리오: 내가 만든 프로젝트를 세상에 공개
- 📈 버전 관리: 코드의 변화를 체계적으로 관리
2) 기본 개념 이해하기
- 로컬 저장소: 내 컴퓨터에 있는 Git 저장소
- 원격 저장소: GitHub에 있는 저장소 (인터넷에 있음)
- 동기화: 로컬과 원격 저장소의 내용을 같게 만드는 것
2. 🚀 GitHub 계정 만들기
아직 GitHub 계정이 없으시다면 먼저 만들어주세요!
1) 1단계: GitHub 가입하기
- “Sign up” 버튼 클릭
- 사용자명, 이메일, 비밀번호 입력
- 이메일 인증 완료
2) 2단계: Git에 GitHub 정보 등록하기
# GitHub 계정 이메일로 설정 (매우 중요!) git config --global user.email "[email protected]" git config --global user.name "Your GitHub Username" # 설정 확인 git config --list
💡 왜 이메일이 중요한가요?
- GitHub는 이메일로 누가 커밋했는지 확인합니다
- 이메일이 다르면 GitHub에서 내 기여도가 제대로 표시되지 않습니다
3. 📁 GitHub에 새 저장소 만들기
두 가지 방법이 있습니다:
1) 방법 1: GitHub 웹사이트에서 만들기 (추천)
1단계: GitHub에서 새 저장소 만들기
- GitHub 로그인 후 오른쪽 상단 “+” 버튼 클릭
- “New repository” 선택
- Repository name 입력 (예:
my-first-project
) - “Public” 선택 (누구나 볼 수 있음)
- “Create repository” 클릭
2단계: 내 컴퓨터와 연결하기
# 내 로컬 저장소에서 실행 cd my-first-project # GitHub 저장소와 연결 git remote add origin https://github.com/your-username/my-first-project.git # 연결 확인 git remote -v
3단계: 첫 번째 업로드
# 내 코드를 GitHub에 업로드 git push -u origin main # 성공하면 이런 메시지가 나옵니다: # Enumerating objects: 3, done. # Counting objects: 100% (3/3), done. # Writing objects: 100% (3/3), 242 bytes | 242.00 KiB/s, done. # Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
축하합니다! 🎉 이제 GitHub에서 내 코드를 확인할 수 있습니다!
4. 🔄 기본 작업 흐름 - 매일 하게 될 일들
이제부터 매일 이런 순서로 작업하게 됩니다:
1) 일반적인 하루 작업 흐름
# 1. 작업 시작 전 - 최신 코드 받아오기 git pull origin main # 2. 코드 수정하기 # ... 여기서 파일을 수정합니다 ... # 3. 변경사항 확인 git status git diff # 4. 변경사항 추가 git add . # 5. 커밋하기 git commit -m "오늘 작업한 내용 설명" # 6. GitHub에 업로드 git push origin main # 7. GitHub 웹사이트에서 확인하기
💡 이 흐름을 기억하세요:
pull → 수정 → add → commit → push
5. 📤 Push - 내 코드를 GitHub에 올리기
1) ''git push'' 명령어 이해하기
Push = 내 컴퓨터의 커밋들을 GitHub에 업로드하는 것
# 기본 형태 git push origin main # 처음 연결할 때 (한 번만) git push -u origin main # 이후부터는 간단히 git push
💡 명령어 구성 요소:
git push
: 업로드 명령어origin
: 원격 저장소 이름 (GitHub 저장소)main
: 브랜치 이름 (기본 브랜치)
2) Push 전 체크리스트
업로드하기 전에 항상 확인하세요:
# 1. 현재 상태 확인 git status # → "nothing to commit, working tree clean" 이어야 함 # 2. 최근 커밋 확인 git log --oneline -3 # → 업로드할 커밋들이 맞는지 확인 # 3. 원격 저장소 확인 git remote -v # → GitHub 주소가 맞는지 확인 # 4. 이제 안전하게 업로드 git push origin main
6. 📥 Pull - GitHub에서 최신 코드 받아오기
1) 왜 Pull이 필요한가요?
이런 상황에서 필요합니다:
- 다른 컴퓨터에서 작업한 후
- 팀원이 코드를 수정한 후
- GitHub 웹사이트에서 직접 파일을 수정한 후
2) ''git pull'' 명령어 사용하기
# 기본 형태 git pull origin main # 보통은 간단히 git pull
💡 Pull이 하는 일:
- GitHub에서 최신 커밋들을 다운로드
- 내 로컬 저장소에 자동으로 병합(merge)
3) Pull 사용 예제
# 작업 시작 전 항상 실행 (좋은 습관!) git pull origin main # 결과 예시: # remote: Enumerating objects: 5, done. # remote: Counting objects: 100% (5/5), done. # remote: Compressing objects: 100% (3/3), done. # remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0 # Unpacking objects: 100% (3/3), 687 bytes | 687.00 KiB/s, done. # From https://github.com/username/repository # a1b2c3d..e4f5g6h main -> origin/main # Updating a1b2c3d..e4f5g6h # Fast-forward # README.md | 2 ++ # 1 file changed, 2 insertions(+)
7. 🔍 원격 저장소 정보 확인하기
1) ''git remote'' 명령어들
# 연결된 원격 저장소 목록 보기 git remote # 자세한 정보 보기 git remote -v # 새 원격 저장소 추가 git remote add origin https://github.com/username/repository.git # 원격 저장소 URL 변경 git remote set-url origin https://github.com/username/new-repository.git # 원격 저장소 제거 git remote remove origin
결과 예시:
$ git remote -v origin https://github.com/username/repository.git (fetch) origin https://github.com/username/repository.git (push)
8. 📊 원격 저장소 상태 확인하기
1) 로컬과 원격 저장소 비교하기
# 원격 저장소 최신 정보 가져오기 (다운로드하지는 않음) git fetch origin # 로컬과 원격 저장소 차이 확인 git status # 원격 저장소 브랜치 목록 보기 git branch -r # 모든 브랜치 보기 (로컬 + 원격) git branch -a
상태 메시지 이해하기:
# 로컬이 최신인 경우 Your branch is up to date with 'origin/main'. # 로컬이 뒤처진 경우 Your branch is behind 'origin/main' by 2 commits. (use "git pull" to update your local branch) # 로컬이 앞선 경우 Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits)
9. 🔄 실제 작업 시나리오
1) 시나리오 1: 집과 회사에서 번갈아 작업하기
집에서 작업 시작:
# 1. 최신 코드 받기 git pull origin main # 2. 코드 수정 echo "집에서 추가한 기능" >> features.txt # 3. 커밋하고 업로드 git add features.txt git commit -m "집에서 새 기능 추가" git push origin main
회사에서 작업 계속:
# 1. 집에서 작업한 내용 받기 git pull origin main # 2. 코드 수정 echo "회사에서 추가한 기능" >> features.txt # 3. 커밋하고 업로드 git add features.txt git commit -m "회사에서 기능 개선" git push origin main
2) 시나리오 2: 새로운 컴퓨터에서 작업하기
새 컴퓨터에서 기존 프로젝트 가져오기:
# 1. 프로젝트 복제 (처음 한 번만) git clone https://github.com/username/my-project.git # 2. 프로젝트 폴더로 이동 cd my-project # 3. 확인 git status git log --oneline # 4. 이제 평소처럼 작업 가능
10. 🚨 자주 발생하는 문제와 해결법
1) 문제 1: Push가 거부될 때
오류 메시지:
! [rejected] main -> main (non-fast-forward) error: failed to push some refs to 'https://github.com/username/repository.git'
원인: GitHub에 내가 모르는 새로운 커밋이 있음
해결법:
# 1. 최신 코드 받기 git pull origin main # 2. 충돌이 없으면 자동으로 병합됨 # 3. 다시 업로드 git push origin main
2) 문제 2: 인증 오류
오류 메시지:
remote: Support for password authentication was removed... fatal: Authentication failed
원인: GitHub가 비밀번호 인증을 중단함
해결법 (Personal Access Token 사용):
- GitHub → Settings → Developer settings → Personal access tokens
- “Generate new token” 클릭
- 권한 선택 (repo 체크)
- 토큰 생성하고 복사
- Git에서 비밀번호 대신 토큰 사용
# 또는 SSH 키 사용 (더 안전) # GitHub 문서 참조: %%https://docs.github.com/en/authentication/connecting-to-github-with-ssh%%
3) 문제 3: 파일이 너무 클 때
오류 메시지:
remote: error: File large-file.zip is 120.00 MB; this exceeds GitHub's file size limit of 100.00 MB
해결법:
# 1. 큰 파일을 .gitignore에 추가 echo "large-file.zip" >> .gitignore # 2. 이미 추가된 큰 파일 제거 git rm --cached large-file.zip # 3. 커밋 git commit -m "큰 파일 제거" git push origin main
11. 💡 고급 원격 저장소 작업
1) Fetch vs Pull 차이점
# Fetch: 다운로드만 하고 병합하지 않음 git fetch origin # Pull: 다운로드하고 자동으로 병합 git pull origin main # Fetch 후 수동으로 병합 git fetch origin git merge origin/main
언제 Fetch를 사용하나요?
- 원격 저장소에 어떤 변경사항이 있는지 확인만 하고 싶을 때
- 병합하기 전에 변경사항을 검토하고 싶을 때
2) 여러 원격 저장소 관리하기
# 원본 저장소 (upstream) 추가 git remote add upstream https://github.com/original-owner/repository.git # 원격 저장소 목록 확인 git remote -v # 원본 저장소에서 최신 코드 받기 git fetch upstream git merge upstream/main
12. 🎯 모범 사례
1) 좋은 습관들
1. 작업 시작 전 항상 Pull
# 매일 작업 시작 전 git pull origin main
2. 자주 Push하기
# 작은 단위로 자주 커밋하고 업로드 git add . git commit -m "작은 기능 완성" git push origin main
3. 의미있는 커밋 메시지
# 좋은 예 git commit -m "로그인 페이지 UI 개선" git commit -m "사용자 인증 버그 수정" # 나쁜 예 git commit -m "수정" git commit -m "ㅇㅇ"
4. 민감한 정보 제외
# .gitignore 파일에 추가 echo "password.txt" >> .gitignore echo "config.json" >> .gitignore echo ".env" >> .gitignore
13. 📚 연습 문제
직접 해보면서 실력을 키워보세요:
1) 연습 1: 기본 원격 저장소 작업
- GitHub에서 새 저장소 만들기
- 로컬 프로젝트와 연결하기
- 첫 번째 push 해보기
- GitHub에서 파일 확인하기
2) 연습 2: 일반적인 작업 흐름
- 코드 수정하기
- add, commit, push 하기
- GitHub에서 README 파일 수정하기
- 로컬에서 pull 해보기
3) 연습 3: 새 컴퓨터에서 작업
- 다른 폴더에서 git clone 해보기
- 코드 수정하고 push 해보기
- 원래 폴더에서 pull 해보기
14. 🔗 관련 용어
더 자세한 설명이 필요하시면:
- Repository - 저장소 개념
- Commit - 커밋 이해하기
- GitHub - GitHub 자세히 알아보기
15. 🚀 다음 단계
16. 🎓 마무리
축하합니다! 🎉 이제 GitHub와 연동할 수 있습니다!
여러분이 배운 것들:
- ✅ GitHub 계정 만들기
- ✅ 원격 저장소 생성하기
- ✅ Push로 코드 업로드하기
- ✅ Pull로 최신 코드 받아오기
- ✅ 일반적인 작업 흐름
- ✅ 문제 해결 방법
이제 여러분의 코드는 안전하게 GitHub에 백업되고, 어디서든 접근할 수 있습니다!
다음 단계로 넘어가기 전에:
- 실제 프로젝트로 연습해보세요
- 매일 push/pull 습관을 기르세요
- GitHub 웹사이트에서 내 저장소를 자주 확인해보세요
이제 브랜치를 사용해서 더 안전하고 체계적으로 개발해보세요! 🌟
이전: 🔰 기본 Git 명령어 | 다음: 🌿 브랜치 관리 | 목록: 📋 전체 문서 목록