안녕하세요, 오늘은 코드카타 진행중에 겪은 로컬에서 commit한 내용을 새로운 브랜치로 옮기는 방법을 정리해 보았습니다.
문제상황
코드카타 완성 내용을 오랜만에 터미널을 이용해서 Local branch 에서 git add . git commit -m까지 한 상황에서 remote branch 에 push 하려고 보니 branch 가 맞지 않아 push가 되지 않았습니다.
해결과정
git log
위 커맨드를 통해 커밋을 얼마나 되돌려야 하는지 확인
git reset --soft HEAD~1
1 자리에 unstage 할 커밋의 갯수를 입력
위 커맨드를 입력하면 가장 최근 1개의 커밋만 unstaged 상태로 변경
git stash -u
임시저장 커맨드
다만 git stash 라는 기본 커맨드를 실행하면, untracked files 라고 불리는 파일들이 누락
새로 추가한 폴더, 새로 추가한 파일이나 에셋 등이 해당하는데, 해당 변경사항들이 누락되는 것을 방지하기 위해 -u 를 사용
include untracked 의 약자
git stash list 커맨드로 작업내역이 제대로 저장되었는지 확인
또한 git status 커맨드로 현재 브랜치에 작업내역이 남아있지 않은지 반드시 확인
git checkout branchname
이동하려던 브랜치로 checkout
git stash pop
위 커맨드를 사용하면 임시저장했던 내역 중 가장 최신의 내역 조회
git status 커맨드로 작업내역이 제대로 불러와졌는지 확인
작업내역이 새로운 브랜치로 옮겨졌으니 commit 을 다시 진행