nugawiki

./categories/dev-ops

Git CLI 명령어 #2

업데이트 2026-07-21 조회수

stash

git stash          # 임시 저장 (working tree clean으로 보임)
git stash list     # stash@{0}, stash@{1}...
git stash pop      # 최근 것 적용+제거
git stash apply <n> # 특정 번호 적용
git stash drop     # 삭제

merge

git merge <브랜치명>
git merge <원격저장소>/<브랜치명>

현재 브랜치에 대상 변경사항을 합침.

rebase

git rebase <브랜치명>              # merge와 결과는 비슷, 로그가 선형
git rebase -i @~3                  # 최근 3개 대화형
  • 옵션: pick / reword / edit / squash / fixup / xexec
  • push되어 공유 중인 커밋은 rebase 금지 (미merge feature만)
  • 충돌: --abort / --continue / --skip
git add <충돌파일>
git rebase --continue

pull request (GitHub)

브랜치 push → Compare & pull request → Create → 리뷰 후 Merge.

충돌은 GitHub Resolve보다 로컬 merge/rebase 후 재push 권장.

show

git show HEAD    # = git show @
git show HEAD~   # = HEAD^ / @~ / @^  (1커밋 이전)
git show @~3     # 3커밋 이전

reset

git reset --soft @^     # 1커밋 되돌림, staged 유지
git reset @~3           # --mixed(기본), modified 유지
git reset @ <파일명>    # unstage
  • --hard — commit/add/워킹트리까지 되돌림, 복구 어려움 → 혼자 쓰는 브랜치만

cherry-pick

git cherry-pick <커밋해시>

다른 브랜치의 특정 커밋만 가져옴 (원본 커밋은 유지).

./comments