[Git].ch3. GitHub 사용법과 원격 저장소
1. 내 코드 올리기 (git push)
Repository(저장소)란?
- 파일 버전을 저장해두는 장소입니다.
- 로컬 저장소: 내 컴퓨터 작업 폴더 내의
.git폴더 - 원격 저장소(Online Repository): GitHub 같은 온라인상의 저장소
- 컴퓨터의 저장소를 백업하거나 타인과 협업할 때 사용합니다. 사실상 git을 쓰는 중요한 이유

- 컴퓨터의 저장소를 백업하거나 타인과 협업할 때 사용합니다. 사실상 git을 쓰는 중요한 이유
GitHub에 올리는 과정
- Repository 생성: GitHub 로그인 후 우측 상단
+버튼을 눌러 생성 - 주소 연결:
git remote add origin 저장소주소 - 코드 업로드:
git push -u origin main-u: 주소를 기억시키는 옵션 (다음부터는git push만 입력 가능)
# 기본 브랜치 이름 변경 (GitHub 권장)
git branch -M main
# 원격 저장소 연결
git remote add origin [https://github.com/내아이디/저장소.git](https://github.com/내아이디/저장소.git)
# 코드 업로드
git push -u origin main

참고
.gitignore: 저장소에 올리지 않을 파일들을 명시하는 파일 (예: 비밀번호, 용량 큰 라이브러리 등)- 원격 저장소 내리기:
git clone 저장소주소(새로운 작업 폴더에 복제)
2. 협업하기 (Collaboration)
팀원과 코드 공유
팀원은 git clone으로 코드를 내려받아 작업합니다.
- Collaborators 등록: GitHub 설정에서 팀원을 추가해야
push권한이 생깁니다.
▲ 팀원의 아이디를 Collaborators 메뉴에 등록해놔야 협업가능
팀원 Commit 문제 해결 (Push 에러)
원격 저장소가 타인에 의해 업데이트되어 내 로컬 저장소보다 최신 상태라면, git push가 거부됩니다.
- 해결법:
git pull을 먼저 해서 원격 저장소의 최신 내용을 가져와야 합니다.git pull origin main # 1. 원격 저장소 내용 가져오기 (fetch) # 2. 내 코드와 합치기 (merge) # 3. 이제 push 가능!
결론: 변동 사항이 생겼으면 git pull 하고 나서 git push 합시다.
혼자 할때는 이런 걱정은 딱히 없지만 평생 혼자할거는 아니니까.
3. 브랜치로 협업하기 (Pull Request)
브랜치 생성 및 업로드
협업할 때는 main 브랜치를 직접 건드리지 않고, 새로운 브랜치를 만들어서 작업합니다.
- GitHub에서 직접 생성:
main버튼 눌러서 입력

▲ main 브랜치명 버튼 누르면 브랜치 변경/생성 - 로컬에서 생성 후 업로드:
git push origin 로컬브랜치명
Pull Request (PR)
GitHub의 꽃, Pull Request는 "내 브랜치를 main에 합쳐주세요"라고 요청하는 기능입니다. (코드 리뷰 가능)
- github.com 웹사이트 pull request

▲ Pull requests 메뉴 초록버튼 pull request 생성

▲ 어떤 브랜치를 어디에 합칠 것인지? 하단에서 commit 내역, 변경내역

▲ Pull requests 메뉴에서 확인가능

merge 할 때 여러가지 옵션 택1
Merge 전략 3가지
GitHub 웹사이트에서 PR을 승인할 때 선택할 수 있는 옵션들입니다.
- Create a merge commit: 합쳐졌다는 흔적(새로운 커밋)을 남기는 3-way merge
- Squash and merge: 합쳐질 브랜치의 커밋 내역을 하나로 압축해서 합침 (커밋 내역 깔끔)
- Rebase and merge: 커밋 내역을
main뒤에 이어 붙임 (Fast-forward와 비슷)
참고: 되돌리기 주의사항
- 이미 원격 저장소에 올린(
push) 내역을git reset으로 지우고 강제로 올리면(push -f), 팀원들 코드가 다 꼬입니다. - 협업 중에는
revert를 사용하거나, GitHub의 Revert 버튼을 사용하세요.
이미지 출처
제가 git/github를 배우면서 봤던 코딩애플님의 강의에 나온 설명 이미지를 사용했습니다
https://codingapple.com/course/git-and-github/
'Project > Git, Github' 카테고리의 다른 글
| [Git].ch4.브랜치 전략 (0) | 2026.01.22 |
|---|---|
| [Git].ch2.유용한 명령어 (0) | 2026.01.20 |
| [Git].ch1.Git기초 (1) | 2026.01.18 |