“git add <dir>”을 취소 하시겠습니까? 이 디렉토리와 그 디렉토리에

“git add dir”명령을 사용하여 실수로 파일을 추가했습니다. 아직 “git commit”을 실행하지 않았습니다. 이 디렉토리와 그 디렉토리에 포함 된 모든 것을 커밋에서 제거하는 방법이 있습니까?

나는 시도 git reset dir했지만 작동하지 않았다. 분명히 git reset file그것을 취소하는 방법입니다. 그러나 파일이 너무 많고 시간이 거의 없습니다.



답변

색인에서 디렉토리와 그 안의 모든 것을 제거하려면

git rm --cached -r dir

--cached스위치 차종은 git rm만하지 작업 복사본을 터치 인덱스에서 작동합니다. -r스위치는 재귀 수 있습니다.


답변

사용하고 싶을 것 git rm --cached -r <dir>입니다. 이 명령은 인덱스에서 준비된 디렉토리 내용을 제거합니다.

디렉토리가 이미 추적 된 경우 새 파일과 기존 파일을 수동으로 찾아 스테이지를 해제해야합니다.

git reset <dir>그 후 디렉토리 내부의 기존 (이미 추적 된) 파일을 재설정하기 위해 실행 됩니다.


2019 업데이트 :

를 실행하면 git reset directory새로 추가 된 모든 파일의 스테이지가 해제됩니다.


답변

사용 findxargs:

find dir -type f | xargs git reset

답변

언 스테이지 디렉토리

$ git reset <dir>

내가 준비한 모든 파일과 폴더를 스테이지 해제합니다.

$ git add <dir>

준비되지 않은 디렉토리 확인

스테이징에서 디렉토리 및 해당 컨텐츠 제거를 확인하려면 (예 : “커밋 변경”) 다음을 실행하십시오.

$ git status

또는

$ git diff --staged --name-only

이전에 준비한 폴더 나 파일이 아직 준비되어 있지 않은지 확인합니다.


답변

아직 커밋되지 않은 준비된 파일 / 폴더를 제거하는 간단한 명령은- git restore --staged <dir>입니다.