Git commit 삭제 - 커밋하기 전에 'git add'를 실행 취소하려면 어떻게해야합니까?

Git reset HEAD / git

다음 명령을 사용하여 실수로 Git에 파일을 추가했습니다.

git add myfile.txt

Braiam



Answer #1

이것은 걱정할 것이 없습니다. 파일은 실제로 여전히 저장소에 있지만 "느슨한 개체"로만 존재합니다. 복제, 푸시를 통해 다른 리포지토리로 복사되지 않으며 공간이 곧 회수 될 것입니다. 불안하다면 다음을 실행할 수 있습니다.

git gc --prune=now
$ git init
$ echo "version 1" > file.txt
$ git add file.txt   # 첫 번째 file.txt 추가
$ git commit -m 'first commit'
$ echo "version 2" > file.txt
$ git add  file.txt   # file.txt의 "버전 2"스테이지 (커밋하지 마십시오)
$ git diff --cached file.txt
-version 1
+version 2
$ echo "version 3" > file.txt
$ git diff  file.txt
-version 2
+version 3
$ git add  file.txt    # 이런 뜻이 아닙니다
$ git reset HEAD file.txt  # 실행 취소?
$ git diff --cached file.txt  # 물론 차이는 없습니다. 무대 == HEAD
$ git diff file.txt   # 우리는 "버전 2"를 돌이킬 수 없게 잃었습니다.
-version 1
+version 3