git을 사용하다 보면, 그동안 작업하면 수정 내역을 완전히 초기화,
즉, 처음 git clone 내려받은 원본 상태로 되돌리고 싶은 경우가 있습니다.
물론 그냥 간단하게 다시 git clone을 수행하면 원본 소스를 얻을 수 있지만
소스 용량이 크거나 인터넷이 느린 특수한 환경에서 전체 소스를 git clone으로 다시 내려받지 않고
기존에 작업하던 소스를 재활용하여 초기화가 필요한 상황이 있을 수 있습니다.
$ git status
Changes not staged for commit: ... modified: ... <-- 수정된 파일들 Untracked files: ... <-- 새롭게 추가된 파일 및 디렉토리 |
git status 명령으로 확인했을때 빨간색으로 표시되는
"Changes not staged for commit:" 나 "Untracked files:" 들을 삭제하고 싶은 상황입니다.
< 1차 초기화 : reset 명령 >
$ git reset --hard
git reset 명령을 수행하면 "Changes not staged for commit:" 리스트의 모든 변경사항이 제거됩니다.
하지만 기존 파일의 diff 내역만 삭제되고, 새롭게 추가된 파일이나 디렉토리는 아직 그대로 남아있습니다.
< 2차 초기화 : clean 명령 >
$ git clean -fd
clean 명령에 -f 와 -d 옵션을 추가해 주면 "Untracked files:" 에 해당하는 파일과 디렉토리가 모두 삭제됩니다.
파일만 삭제하고 싶다면 -f, 디렉토리만 삭제하고 시다면 -d 옵션을 분할해서 사용해도 됩니다.
< 결론 >
git reset --hard 와 git clean -fd 명령 2개면, git 변경사항을 완전히 git clone 초기 상황으로 되돌릴 수 있습니다.
단! 위 명령을 수행해서 초기화된 경우, 변경사항을 다시 되살리는건 불가능하니 사용에 주의하시기 바랍니다.
END
'Guide_Tip_Tech > Setting' 카테고리의 다른 글
Raspberry Pi OS 기본 셋팅 가이드 (0) | 2023.06.27 |
---|---|
git mirror/clone 적용법 (0) | 2022.04.11 |
윈도우 시리얼 확인 방법 (0) | 2022.03.21 |
iPad Pro에서 PS4 듀얼쇼크로 xbox cloud 리모트 플레이 (0) | 2022.02.09 |
삼성 S34J550W 와이드 모니터 주사율 50hz 설정되는 문제 해결 (0) | 2022.01.18 |
ubuntu CPU clock frequency 셋팅 방법 (리눅스 CPU 클럭 변경) (0) | 2021.01.27 |
ubuntu 16.04 에서 VirtualBox sudo 권한 아이콘 추가 (0) | 2020.12.25 |
ubuntu 16.04 필수 셋팅 (0) | 2020.12.25 |
리눅스 CPU 정보 확인하는 명령어 (0) | 2020.12.17 |
sudo apt update 수행시 CRITICAL **: Error while moving old database out of the way 에러 해결 방법 (0) | 2020.12.17 |