git add 취소하기(파일 상태를 Unstage로 변경하기)
아래와 같이 실수로 git add * 명령을 사용하여 모든 파일을 Staging Area에 넣은 경우,
Staging Area(git add 명령 수행한 후의 상태)에 넣은 파일을 빼고 싶을 때가 있다.
// 모든 파일이 Staged 상태로 바뀐다.
$ git add *
// 파일들의 상태를 확인한다.
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
modified: CONTRIBUTING.md
이때, git reset HEAD [file] 명령어를 통해 git add를 취소할 수 있다.
뒤에 파일명이 없으면 add한 파일 전체를 취소한다.
CONTRIBUTING.md 파일을 Unstaged 상태로 변경해보자.
// CONTRIBUTING.md 파일을 Unstage로 변경한다.
$ git reset HEAD CONTRIBUTING.md
Unstaged changes after reset:
M CONTRIBUTING.md
// 파일들의 상태를 확인한다.
$ git status
On branch master
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
renamed: README.md -> README
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: CONTRIBUTING.md
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
완료한 commit을 취소해야 할 때가 있다.
너무 일찍 commit한 경우
어떤 파일을 빼먹고 commit한 경우 이때, git reset HEAD^ 명령어를 통해 git commit을 취소할 수 있다.
// commit 목록 확인
$ git log
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
// [방법 1] commit을 취소하고 해당 파일들은 staged 상태로 워킹 디렉터리에 보존
$ git reset --soft HEAD^
// [방법 2] commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에 보존
$ git reset --mixed HEAD^ // 기본 옵션
$ git reset HEAD^ // 위와 동일
$ git reset HEAD~2 // 마지막 2개의 commit을 취소
// [방법 3] commit을 취소하고 해당 파일들은 unstaged 상태로 워킹 디렉터리에서 삭제
$ git reset --hard HEAD^
https://gmlwjd9405.github.io/2018/05/25/git-add-cancle.html
'Dev > Javascript' 카테고리의 다른 글
[JavaScript] 화살표 함수 기본 (0) | 2024.11.27 |
---|---|
[Node.js] 오라클 연동 NJS-116, DPI-1047 해결 (0) | 2024.11.26 |
[git] 커밋하고 푸시 (1) | 2024.11.23 |
[git] vscode commit push 무한 로딩 (0) | 2024.11.21 |
[Node.js] DB Daily Check 자동화 (1) 환경 설정 (0) | 2024.11.21 |