Project - Git

김기훈·2026년 2월 11일

Search

목록 보기
4/9


리베이스 전 꼭 PR브랜치를 열고 하기 😡

PR을 닫고 리베이스 진행하면 안열림


rebase

  • feature 브랜치를 최신 develop 위로 “다시 올려놓는 것”

    • 조건: 내 feature브랜치에서 나만 작업중일 경우 사용

# 1) develop 브랜치로 이동
git checkout develop

# 2) 최신 develop 가져오기
git pull origin develop

# 3) 다시 작업 브랜치로 이동
git checkout feature/브랜치명
git checkout feature/70-delete-comment

# 4) develop 기준으로 rebase 수행
git rebase develop

# 5) conflict 있으면 해결 → add → 계속 진행
git add .
git rebase --continue

# 6) rebase 완료되면 강제로 push
git push origin feature/브랜치명 --force
git push origin feature/70-delete-comment --force
develop:   A --- B --- C   (팀에서 최신 커밋)
                    \
feature:              D --- E   (내 API 구현 커밋)

------------------------------------------------

develop:   A --- B --- C
                          \
feature:                    D' --- E'

stash

  • 지금 작업 코드가 많고 커밋하기 애매한 상태라면 → stash로 임시 저장

1) 현재 코드 임시로 stash에 저장
git stash push -m "임시: ~ 작업 중"

2) develop 브랜치로 이동
git checkout develop

3) develop 최신 내용 가져오기
git pull origin develop

4) 새로운 feature 브랜치 생성
git checkout -b feature/question-create

5) 아까 stash한 작업 불러오기
git stash pop

머지 후 브랜치 생성

# 현재 브랜치에서 develop 최신 상태로 이동
git checkout develop

# 원격 develop 변경사항 가져오기 + 반영
git pull origin develop

# 로컬 브랜치 삭제
git branch -d feature/qna-question-create

# 원격 브랜치 삭제 (GitHub에서도 깔끔하게)
git push origin --delete feature/qna-question-create

# develop 최신 상태 다시 한번 확인 (중요)
git status

## 정상 → 이 상태에서만 새 브랜치를 파는 게 정석
On branch develop
Your branch is up to date with 'origin/develop'.

# 새 브랜치 생성
git checkout -b feature/

# (선택) 바로 원격에 브랜치 올려두기 [CI / PR 대비용]
git push -u origin feature/

git 명령어

  • git commit --amend : 방금 만든 커밋 내용 수정
  • git log --oneline : 한줄로 깔끔하게 커밋 이력 보기 (푸시 전도 보임)
    • 나가기: q
  • git log origin/develop..HEAD --oneline : 푸시 안 된 커밋만 따로 보기
  • git log --oneline --graph --all : 그래프 형태로 보기
  • git reset HEAD~1 : 마지막 커밋 지우기

git restore .

  • modified
    • 기존에 있던 파일의 내용을 고친 것
    • git restore . 결과: 사라짐 (초기화)
  • untracked
    • 아예 새로 만든 파일 (Git가 모르는 파일)
    • git restore . 결과: 안사라짐(그대로 남음)
  • deleted
    • 로컬에서 파일을 삭제한 것
    • git restore . 결과: 사라짐(파일이 복구됨)

커밋

커밋 삭제 / 코드 유지

  • git reset --soft HEAD~1

    • 방금한 커밋 삭제

    • HEAD~1
      • 직전의 커밋 1개를 가리킴
    • --soft:
      • 커밋 이력만 지우고 파일 내용은 건드리지 않습니다. 바로 다시 수정해서 커밋할 수 있어 가장 안전

커밋 삭제 / 코드 삭제

  • git reset --hard HEAD~1

    • 방금한 작업이 완전히 잘못되어, 커밋하기 전의 깨끗한 상태로 되돌리기 위함

커밋 메시지만 바꾸고 싶으면

  • git commit --amend -m "새로운 커밋 메시지"

profile
안녕하세요.

0개의 댓글