8강

GitHub에 올리기(push/pull)

3 조회 1

git push로 로컬 커밋을 GitHub에 올리고, pull로 원격 변경사항을 내려받는 방법을 배운다. remote, origin, upstream 개념과 SSH·HTTPS 인증 방식을 이해한다.

원격 저장소(Remote Repository)란?

로컬 저장소는 내 컴퓨터에만 존재합니다. GitHub, GitLab, Bitbucket 같은 서비스가 제공하는 원격 저장소에 코드를 올리면 백업, 협업, 배포 파이프라인 연결이 가능해집니다.

remote — 원격 저장소 등록

# 원격 저장소 확인
git remote -v

# 원격 저장소 추가 (origin이 관행적인 이름)
git remote add origin https://github.com/username/repo.git

# 원격 저장소 URL 변경
git remote set-url origin git@github.com:username/repo.git

# 원격 저장소 삭제
git remote remove origin

origin은 단순한 별명(alias)입니다. 여러 원격 저장소를 추가할 수 있으며, 오픈소스 기여 시 원본 프로젝트를 upstream으로 추가하는 것이 관행입니다.

push — 로컬 커밋 업로드

# 현재 브랜치를 origin의 같은 이름 브랜치에 push
git push origin main

# -u 플래그: 이후 git push/pull만으로 자동 동기화
git push -u origin main

# 브랜치명 명시 (로컬 브랜치 → 원격 브랜치)
git push origin feature/login:feature/login

# 태그 push
git push origin --tags

# 원격 브랜치 삭제
git push origin --delete feature/old-branch

pull — 원격 변경사항 내려받기

# fetch + merge를 한 번에 (현재 브랜치)
git pull origin main

# rebase 방식으로 pull (선형 이력 유지)
git pull --rebase origin main

# 모든 원격 브랜치 최신화
git fetch --all

# 특정 원격 브랜치만 가져오기 (로컬에 반영 X)
git fetch origin feature/login
명령동작로컬 변경
git fetch원격 정보만 다운로드없음
git pullfetch + merge자동 머지
git pull --rebasefetch + rebase리베이스 적용
팁: 공동 작업 중에는 push 전 항상 git pull을 먼저 실행해 충돌을 로컬에서 해결한 뒤 올리는 습관을 들이세요.

HTTPS vs SSH 인증

# HTTPS 방식 (Personal Access Token 필요)
https://github.com/username/repo.git

# SSH 방식 (공개키 등록 후 비밀번호 불필요)
git@github.com:username/repo.git

# SSH 키 생성
ssh-keygen -t ed25519 -C "your@email.com"
# 생성된 ~/.ssh/id_ed25519.pub 내용을
# GitHub Settings → SSH and GPG keys 에 등록

# 연결 테스트
ssh -T git@github.com
# Hi username! You have successfully authenticated.
항목HTTPSSSH
초기 설정간단공개키 등록 필요
매번 인증토큰 입력(캐시 가능)자동
보안성토큰 관리 필요높음
추천 환경개인/임시개인 장비(개발자)

원격 브랜치 추적

# 원격 브랜치 목록 확인
git branch -r

# 로컬 + 원격 브랜치 모두 확인
git branch -a

# 원격 브랜치를 로컬로 체크아웃
git switch -t origin/feature/login
# 또는
git checkout -b feature/login origin/feature/login

# 현재 브랜치의 추적 원격 브랜치 확인
git branch -vv

실전 시나리오 — 새 프로젝트 올리기

# 1. 로컬 저장소 초기화
git init my-project
cd my-project

# 2. 파일 추가 & 첫 커밋
git add .
git commit -m "feat: 초기 프로젝트 설정"

# 3. GitHub에서 빈 저장소 생성 (웹 UI 또는 gh CLI)
gh repo create my-project --public

# 4. 원격 연결 & 첫 push
git remote add origin git@github.com:username/my-project.git
git push -u origin main

# 이후에는 git push / git pull 만으로 동기화

관련 검색어  ·  git push pull 차이, git remote origin, github ssh 설정, git fetch merge, 원격 저장소 연결, github 처음 올리기

채용정보
공지사항
인사이트
MY