사용자 도구

사이트 도구


wiki:it:github:remote_operations

목차

GitHub와 연동하기 - 내 코드를 세상과 공유하기

드디어 GitHub와 연동할 시간입니다! 🎉 이제 내 컴퓨터에 있는 코드를 인터넷에 올려서 어디서든 접근할 수 있고, 다른 사람들과 공유할 수 있게 됩니다. 차근차근 따라해보세요!


1. 🌐 GitHub가 뭔가요? 다시 한 번 정리해보기

GitHub = 개발자들의 구글 드라이브


1) 왜 GitHub을 사용하나요?

  • 📱 어디서든 접근: 집, 회사, 카페 어디서든 내 코드에 접근 가능
  • 🔒 안전한 백업: 컴퓨터가 고장나도 코드가 안전하게 보관됨
  • 👥 협업: 팀원들과 함께 프로젝트 진행 가능
  • 🌍 포트폴리오: 내가 만든 프로젝트를 세상에 공개
  • 📈 버전 관리: 코드의 변화를 체계적으로 관리

2) 기본 개념 이해하기

  • 로컬 저장소: 내 컴퓨터에 있는 Git 저장소
  • 원격 저장소: GitHub에 있는 저장소 (인터넷에 있음)
  • 동기화: 로컬과 원격 저장소의 내용을 같게 만드는 것

2. 🚀 GitHub 계정 만들기

아직 GitHub 계정이 없으시다면 먼저 만들어주세요!


1) 1단계: GitHub 가입하기

  1. “Sign up” 버튼 클릭
  2. 사용자명, 이메일, 비밀번호 입력
  3. 이메일 인증 완료

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에서 새 저장소 만들기

  1. GitHub 로그인 후 오른쪽 상단 “+” 버튼 클릭
  2. “New repository” 선택
  3. Repository name 입력 (예: my-first-project)
  4. “Public” 선택 (누구나 볼 수 있음)
  5. “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 사용):

  1. GitHub → Settings → Developer settings → Personal access tokens
  2. “Generate new token” 클릭
  3. 권한 선택 (repo 체크)
  4. 토큰 생성하고 복사
  5. 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: 기본 원격 저장소 작업

  1. GitHub에서 새 저장소 만들기
  2. 로컬 프로젝트와 연결하기
  3. 첫 번째 push 해보기
  4. GitHub에서 파일 확인하기

2) 연습 2: 일반적인 작업 흐름

  1. 코드 수정하기
  2. add, commit, push 하기
  3. GitHub에서 README 파일 수정하기
  4. 로컬에서 pull 해보기

3) 연습 3: 새 컴퓨터에서 작업

  1. 다른 폴더에서 git clone 해보기
  2. 코드 수정하고 push 해보기
  3. 원래 폴더에서 pull 해보기

14. 🔗 관련 용어

더 자세한 설명이 필요하시면:

  1. Repository - 저장소 개념
  2. Commit - 커밋 이해하기
  3. GitHub - GitHub 자세히 알아보기

15. 🚀 다음 단계

원격 저장소 작업을 익혔다면:

  1. 브랜치 관리 - 여러 기능을 동시에 개발하기
  2. 문제 해결 - 막혔을 때 해결 방법
  3. 고급 팁 - 더 효율적으로 사용하기

16. 🎓 마무리

축하합니다! 🎉 이제 GitHub와 연동할 수 있습니다!

여러분이 배운 것들:

  1. ✅ GitHub 계정 만들기
  2. ✅ 원격 저장소 생성하기
  3. ✅ Push로 코드 업로드하기
  4. ✅ Pull로 최신 코드 받아오기
  5. ✅ 일반적인 작업 흐름
  6. ✅ 문제 해결 방법

이제 여러분의 코드는 안전하게 GitHub에 백업되고, 어디서든 접근할 수 있습니다!

다음 단계로 넘어가기 전에:

  1. 실제 프로젝트로 연습해보세요
  2. 매일 push/pull 습관을 기르세요
  3. GitHub 웹사이트에서 내 저장소를 자주 확인해보세요

이제 브랜치를 사용해서 더 안전하고 체계적으로 개발해보세요! 🌟


이전: 🔰 기본 Git 명령어 | 다음: 🌿 브랜치 관리 | 목록: 📋 전체 문서 목록

wiki/it/github/remote_operations.txt · 마지막으로 수정됨: 저자 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki