ABC부트캠프

[21일차] ABC 부트캠프

ideas9064 2025. 8. 3. 22:25

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