Push 취소
git push origin --delete [branchName]
: 원격 저장소(원격 브랜치)에서 해당 브랜치를 삭제하는 명령어.
다른 사람이 해당 브랜치를 사용하고 있다면 권장되지 않는 방법이므로 주의!
Commit 취소
git reset HEAD^ --hard
: 로컬에서 마지막 커밋을 되돌리는 명령어.
'--hard' 옵션은 작업 디렉토리와 스테이징 영역을 함께 변경하기 때문에 정말 조심해서 사용해야 함!
Add 취소
git reset
: 스테이징 영역을 초기화하는 명령어.
커밋 내용은 그대로 유지한 채 스테이징 영역만 초기화 함.
현재 브랜치를 main 브랜치로 변경
git checkout main
Revert 명령어 실행
git revert -m 1 HEAD
: 현재 작업 중인 브랜치(main)에서 마지막 커밋을 되돌리는 명령어.
새로운 커밋이 생성되며, 해당 커밋은 이전 커밋의 반대 작업을 수행함.
따라서 모든 변경사항을 반영하고 나면 변경사항을 다시 push 해주어야 함.
명령어를 입력했더니 터미널에 아래와 같은 vim 에디터가 열림
Revert "fmn설치"
This reverts commit 52952154f0232069b3a59fde98551aaeefec9e3e.
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch main
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# modified: package.json
# modified: yarn.lock
'git revert' 명령을 실행한 후 발생하는 커밋 메시지를 입력하라는 메시지.
'git revert'는 이전 커밋을 되돌리고 새로운 커밋을 만들어 그 변경 사항을 기록함. 그 후 이 새로운 커밋에 대해 커밋 메시지를 입력할 수 있도록 에디터를 열어주는 것!
위 메시지에서는 해당 revert 커밋이 어떤 커밋을 되돌리고 있는지 설명하고 있음.
맨 위의 [Revert "fnm설치"] 부분을 수정해서 커밋 메시지 수정 가능!
수정 후에는 저장과 종료를 위해 아래의 단계를 따르면 됨.
-> vim 에디터이므로
1. 'Esc' 키를 눌러서 normal mode로 전환
2. ':wq' 입력 후 엔터 키를 눌러서 종료
변경사항을 원격 저장소로 푸시
git push origin main
이후, main 브랜치에 대한 변경 내용이 새로운 revert 커밋으로 기록됨.
다 되돌렸으니까 main에서 딴 브랜치에서 다시 작업하고 add / commit / push하면 끝!