마지막 git 커밋으로 롤백
나는 방금
git commit -m "blah"
그런 다음 일부 파일을 추가했습니다. 아직 추가 / 커밋되지 않은 현재 파일의 내용을 롤백하고 제거하려면 어떻게합니까?
아래의 원래 답변은 OP 가 찾고 있다고 생각한 것 입니다.
@ChrisNevill의 유용한 의견에 따르면 원래 답변은 귀하 가 찾고 있는 것이 아닐 수 있으며 명확히하기 위해 답변을 업데이트했습니다.
의 Nota 베네 - 앞서 파괴 명령.
Caveat Emptor에 대한 완화 - git reflog 필요한 경우 절약 할 수 있습니다.
→ 업데이트 된 답변
1) 로컬 파일 변경을 실행 취소 하지만 마지막 커밋을 제거하지 마십시오
git reset --hard
2) 로컬 파일 변경 실행 취소 및 마지막 커밋 제거
git reset --hard HEAD^
3) 로컬 파일 변경 사항을 유지 하고 마지막 커밋 만 제거
git reset --soft HEAD^
→ 원래 답변
"작업 트리를 마지막 커밋으로 재설정"
git reset --hard HEAD^
"작업 트리에서 알 수없는 파일 정리"
git clean
새로 추가 된 내용과 이미 준비된 (색인에 추가 된) 파일을 제거하려면 다음을 사용합니다.
git reset --hard
최신 커밋 ( "blah"메시지가있는 커밋)도 제거하려면 다음을 사용하는 것이 좋습니다.
git reset --hard HEAD^
추적되지 않은 파일 (아직 색인에 추가되지 않은 새 파일) 및 폴더를 제거하려면 다음을 사용하십시오.
git clean --force -d
git reset --hard 작업 디렉토리를 마지막 커밋으로 되돌리고 새 / 변경된 파일을 삭제합니다.
git revert HEAD^다음에서 마지막 커밋으로 되돌리기 위해를 사용하여 커밋을 되돌릴 수 있습니다 . HEAD ^ 대신 ID를 사용하여 되돌릴 커밋을 지정할 수도 있습니다.
마지막 커밋 이후 로컬 파일 변경을 UNDO 하는 쉬운 방법 은 새 브랜치에 배치하는 것입니다.
git branch changes
git checkout changes
git add .
git commit
이렇게하면 새 분기에 변경 사항이 남습니다. 원래 브랜치로 돌아가서 마지막 커밋으로 돌아갑니다.
git checkout master
새 분기는 원래 분기를 엉망으로 만들 위험없이 변경 사항을 되 돌리는 다양한 방법을 연습 할 수있는 좋은 장소입니다.
마지막 커밋을 해제하려면 다음을 사용하십시오.
git reset HEAD~
나를 위해 매력처럼 작동합니다.
참고 URL : https://stackoverflow.com/questions/4965639/rollback-to-last-git-commit
'Programing' 카테고리의 다른 글
| 자바에서 HashMap 복사 (0) | 2020.08.09 |
|---|---|
| SQL Server Management Studio에서는 테이블에 인덱스를 추가 할 수 없습니다. (0) | 2020.08.09 |
| 헤더에 C ++ 인라인 함수가있는 이유는 무엇입니까? (0) | 2020.08.09 |
| AlertDialog 제목의 색상과 그 아래 줄의 색상을 어떻게 변경할 수 있습니까? (0) | 2020.08.09 |
| Index Range Swift의 새로운 배열 (0) | 2020.08.09 |