
리베이스 전 꼭 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 : 한줄로 깔끔하게 커밋 이력 보기 (푸시 전도 보임)
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
--soft:
- 커밋 이력만 지우고 파일 내용은 건드리지 않습니다. 바로 다시 수정해서 커밋할 수 있어 가장 안전
커밋 삭제 / 코드 삭제
git reset --hard HEAD~1
- 방금한 작업이 완전히 잘못되어, 커밋하기 전의 깨끗한 상태로 되돌리기 위함
커밋 메시지만 바꾸고 싶으면
git commit --amend -m "새로운 커밋 메시지"