1) Git과 GitHub의 차이
- Git: 로컬에서 버전을 관리하는 분산형 버전 관리 도구.
- GitHub: Git 저장소를 온라인으로 호스팅하고, 이슈/PR/코드리뷰/권한 관리 등 협업 기능을 제공하는 서비스.
간단히: Git(도구)로 버전 관리 ↔ GitHub(서비스)로 공유·협업.
2) 최초 준비
git --version
사용자 정보 설정(커밋에 기록됨)(선택) 기본 브랜치 이름을 main으로(선택) 편한 줄바꿈 정책
3) 저장소 만들기
mkdir my-app && cd my-app
git init
B. 기존 프로젝트 복제(원격 → 로컬)
HTTPS vs SSH
- HTTPS: 처음엔 간단하지만 토큰 인증 필요.
- SSH: 한 번 키 설정하면 편리(권장). ssh-keygen -t ed25519 → 공개키를 GitHub에 등록.
4) 변경의 흐름(중요 개념)기본 루틴
Working Directory --(add)--> Staging Area --(commit)--> Local Repo --(push)--> Remote(GitHub)
<--(pull/fetch)--
5) Push 하는 법 (로컬 → GitHub)
git remote -v
# 없으면 추가
git remote add origin https://github.com/ORG/REPO.git
# 또는 SSH
# git remote add origin git@github.com:ORG/REPO.git
5-2. 최초 push(업스트림 설정)
- -u는 업스트림 추적을 설정. 이후 같은 브랜치에서 git push만으로 동작.
5-3. 이후 일반 push5-4. 새 브랜치 만들어서 push5-5. 태그(push로 릴리스 표기)
커밋 메시지 팁: 한글/영문 모두 OK. 명령형으로 짧고 구체적으로: feat: 로그인 폼 추가 fix: NPE 방지.
6) Pull 하는 법 (GitHub → 로컬)
- fetch: 원격 변경사항을 다운로드만.
- merge: 다른 브랜치의 변경을 합치기.
- pull = fetch + merge(기본) 또는 fetch + rebase(옵션).
6-1. 기본 pull(merge 방식)6-2. rebase로 깔끔한 히스토리 유지(팀 규칙에 따라)
rebase는 커밋을 다시 쌓아 직선형 히스토리를 만듭니다. 충돌 시 하나씩 해결 후 git rebase --continue.
git fetch --all --prune
6-2. rebase로 깔끔한 히스토리 유지(팀 규칙에 따라)
git pull --rebase
rebase는 커밋을 다시 쌓아 직선형 히스토리를 만듭니다. 충돌 시 하나씩 해결 후 git rebase --continue.
6-3. 최신 브랜치/태그 목록 갱신만 하고 싶을 때
git fetch --all --prune


'ABC부트캠프' 카테고리의 다른 글
| [23일차]ABC 부트캠프 (0) | 2025.08.03 |
|---|---|
| [22일차] ABC 부트캠프 (0) | 2025.08.03 |
| [20일차]ABC부트캠프 (0) | 2025.07.27 |
| [19일차]ABC 부트캠프 (2) | 2025.07.27 |
| [18일차]ABC부트캠프 (0) | 2025.07.27 |