반응형
관리되지 않는 파일들 삭제하기
git clean
git clean
은 추적하지 않는 파일들을 삭제하며, 해당 옵션들을 조합하여 사용한다.
파일들 추가한 뒤 옵션 조합과 함께 clean 명령어 사용해보기
- toClean1.txt
- toClean2.txt
- dir/toClean3.txt
- 다음과 같이 사용할 수 있다.
git restore
특정 파일을 지정된 상태로 복구할 때 git restore
를 사용한다.
파일을 여러 개 수정하고 되돌리기
git restore (파일명)
- 워킹 디렉토리의 특정 파일 복구
- 파일명 자리에
.
: 모든 파일 복구
- 다음과 같이 스테이징되지 않은 파일들에 한해서 취소할 수 있다.
스테이징 된 상태를 워킹 디렉토리로 돌려놓기
스테이징 된 파일을 복구하는 경우를 테스트하기 위해 아무 파일이나 다시 변경사항을 만들어보자.
restore --staged
를 통해 untracked 한 상태로 되돌릴 수 있다.
파일을 특정 커밋의 상태로 되돌리기
git restore --source=(헤드 또는 커밋 해시) 파일명
- 특정 파일을 이전으로 되돌릴 수 있다. Git 입장에선 사용자가 새로운 변경 사항을 발생시켰다고 판단하기 때문에 수정함으로 나타난 것을 볼 수 있다. 즉,
git restore .
으로 다시 변경하기 전으로 되돌릴 수 있다.
reset 후 복구하기 (reflog)
git reset --hard HEAD^^^^^^^^^^^^^^^^
- 예를들어 다음과 같이 실수로 여러 커밋을 날렸을 경우
git log
에도 보이지 않고 복구할 방법이 없다.
git reflog
- 해당 명령어를 통해 이전 시점으로 복구할 가능성이 아직 남아있다. 해당 명령어를 입력하면, 프로젝트의 커밋이 바뀔때마다 기록되는 내역을 볼 수 있으며, 여기에 reset 한 기록도 남아있게 된다. 해당 커밋 해시를 가져와서 다시 reset 하면 복구할 수 있다.
본 포스팅은 '인프런 - 제대로 파는 Git & GitHub - by 얄코' 강의를 보고 정리한 내용입니다.
반응형