마지막 git 커밋으로 롤백 다음 일부

나는 방금

git commit -m "blah"

그런 다음 일부 파일을 추가했습니다. 아직 추가 / 커밋되지 않은 현재 파일의 내용을 롤백하고 제거하려면 어떻게합니까?



답변

emptor 경고앞서 파괴 명령.

완화git reflog 필요한 경우 절약 할 수 있습니다.


1) 로컬 파일 변경 실행 취소 및 마지막 커밋 유지

git reset --hard

2) 로컬 파일 변경 실행 취소 및 마지막 커밋 제거

git reset --hard HEAD^

3) 로컬 파일 변경 사항을 유지 하고 마지막 커밋을 제거 합니다.

git reset --soft HEAD^

답변

새로 추가 된 내용과 이미 준비된 (색인에 추가 된) 파일을 제거하려면 다음을 사용합니다.

git reset --hard

최신 커밋 ( “blah”메시지가있는 커밋)도 제거하려면 다음을 사용하는 것이 좋습니다.

git reset --hard HEAD^

추적되지 않은 파일 (아직 색인에 추가되지 않은 새 파일) 및 폴더를 제거하려면 다음을 사용하십시오.

git clean --force -d

답변

git reset --hard 작업 디렉토리를 마지막 커밋으로 되돌리고 새 / 변경된 파일을 삭제합니다.


답변

git revert HEAD^다음에서 마지막 커밋으로 되돌리기 위해를 사용하여 커밋을 되돌릴 수 있습니다 . HEAD ^ 대신 ID를 사용하여 되돌릴 커밋을 지정할 수도 있습니다.


답변

마지막 커밋을 해제하려면 다음을 사용하십시오.

git reset HEAD~

나를 위해 매력처럼 작동합니다.


답변

마지막 커밋 이후 로컬 파일 변경을 UNDO 하는 쉬운 방법 은 새 브랜치에 배치하는 것입니다.

git branch changes
git checkout changes
git add .
git commit

이렇게하면 새 분기에 변경 사항이 남습니다. 원래 브랜치로 돌아가서 마지막 커밋으로 돌아갑니다.

git checkout master

새 분기는 원래 분기를 엉망으로 만들 위험없이 변경 사항을 되 돌리는 다양한 방법을 연습 할 수있는 좋은 장소입니다.