DEV/Git

[Git 기초] 깃 특정 시점 커밋 열람하고 다시 돌아가는 명령어

Bi3a 2023. 11. 20. 09:57

목차
반응형

[Git 기초] 깃 특정 시점 커밋 열람하고 다시 돌아가는 명령어에 대해 알아봅시다.
git, github 명령어


1. 깃 특정 시점의 커밋 작업 파일 버전으로 전환할 때

git checkout < -f > 커밋번호
* -f는 선택사항

해당 명령어는 통상 아래와 같은 작업에서 사용됩니다.
1. 과거의 커밋 작업 내역을 수정할 때
2. 깃을 클론 해서 과거의 작업 내역을 직접 IDE를 통해 확인할 때 (범인 잡을 때)
  • git checkout : 언스테이지된 작업 내역(수정사항)을 남겨놓고 전환합니다.
  • git checkout -f : 언스테이지된 작업 내역을(수정사항)을 모두 병합한 후 전환합니다.
  • git checkout 브랜치명 : 브랜치가 가리키는 head 커밋(가장 최신 커밋)으로 복귀합니다.

 

메인 헤드를 전환하는 화면

가리키는 메인 헤드를 전환하는 행위입니다.

 

해당 명령어 이후 브랜치 헤드가 아래와 같이 수정되었으면 성공입니다.

본 화면과 같이 브랜치 헤드가 전환되었습니다.

 

주의할 점

  • 해당 명령어를 통해 이전 커밋으로 접근 후 수정작업 시 gid add, git commit으로 변경내용을 적용하면 해당 브랜치에 새로운 커밋이 생성되지 않습니다.
  • 과거 커밋의 작업 내용이 수정될 뿐입니다.
  • 과거 커밋에서 수정된 내용이 있다면 head 커밋으로 복귀되지 않습니다.

 

2. 작업 내역에서 추적되지 않은 파일이나 디렉토리를 삭제할 때

git clean -<fdnx>
-f : force, 강제로 삭제합니다. 이 옵션이 없으면 삭제 여부를 확인하는 확인창이 표시됩니다.
-d : directory, 디렉토리도 함께 삭제합니다.
-n : 실제로 삭제하지 않고 어떤 파일이나 디렉터리가 삭제될지 미리 확인합니다.
-x : gititgnore 파일에 명시된 파일이라도 삭제합니다.


해당 명령어는 통상 아래와 같은 작업에서 사용됩니다.
1. 1번의 명령어와 연계해 head 커밋으로 복귀 전 작업 내역을 정리할 때
2. 최초 init 작업 후 추적되지 않은 임시파일을 삭제할 때 사용

 

git clean -fd로 캐시를 전부 제거합니다.
역시 깔끔합니다.


 

반응형