제육's 휘발성 코딩
반응형

관리되지 않는 파일들 삭제하기

git clean

image

  • git clean은 추적하지 않는 파일들을 삭제하며, 해당 옵션들을 조합하여 사용한다.

파일들 추가한 뒤 옵션 조합과 함께 clean 명령어 사용해보기

  • toClean1.txt
  • toClean2.txt
  • dir/toClean3.txt

image

  • 다음과 같이 사용할 수 있다.

git restore

특정 파일을 지정된 상태로 복구할 때 git restore를 사용한다.

파일을 여러 개 수정하고 되돌리기

git restore (파일명)
  • 워킹 디렉토리의 특정 파일 복구
  • 파일명 자리에 . : 모든 파일 복구

image

  • 다음과 같이 스테이징되지 않은 파일들에 한해서 취소할 수 있다.

스테이징 된 상태를 워킹 디렉토리로 돌려놓기

스테이징 된 파일을 복구하는 경우를 테스트하기 위해 아무 파일이나 다시 변경사항을 만들어보자.

image

  • restore --staged를 통해 untracked 한 상태로 되돌릴 수 있다.

파일을 특정 커밋의 상태로 되돌리기

image

git restore --source=(헤드 또는 커밋 해시) 파일명
  • 특정 파일을 이전으로 되돌릴 수 있다. Git 입장에선 사용자가 새로운 변경 사항을 발생시켰다고 판단하기 때문에 수정함으로 나타난 것을 볼 수 있다. 즉, git restore . 으로 다시 변경하기 전으로 되돌릴 수 있다.

reset 후 복구하기 (reflog)

git reset --hard HEAD^^^^^^^^^^^^^^^^
  • 예를들어 다음과 같이 실수로 여러 커밋을 날렸을 경우 git log에도 보이지 않고 복구할 방법이 없다.
git reflog
  • 해당 명령어를 통해 이전 시점으로 복구할 가능성이 아직 남아있다. 해당 명령어를 입력하면, 프로젝트의 커밋이 바뀔때마다 기록되는 내역을 볼 수 있으며, 여기에 reset 한 기록도 남아있게 된다. 해당 커밋 해시를 가져와서 다시 reset 하면 복구할 수 있다.

본 포스팅은 '인프런 - 제대로 파는 Git & GitHub - by 얄코' 강의를 보고 정리한 내용입니다.

반응형
profile

제육's 휘발성 코딩

@sasca37

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 맞구독은 언제나 환영입니다^^