Git | 깃 복원방법, HEAD, checkout, Revert

|

로그 보기

명령어를 통해 검색하여 보는 법은 다음과 같습니다.
(인터페이스에서 보려면 VS Code, PhpStorm, InteliJ 와 같은 툴을 로컬 폴더에 연결하면 됩니다)

git log

  • git log -S {텍스트} : 커밋 변경(추가, 삭제 포함) 내용 중에서 검색합니다
  • git log --grep="{텍스트}" : 커밋 메세지 중에서 검색합니다
  • git log --author="{저자명}" : 입력한 저자중에서 검색합니다
  • git log -- ./{경로} : 파일별로 검색합니다
  • git log -- -p ./{경로} : 수정 이력 상세 코드까지 검색합니다

로그에서 나가려면 Q를 누르면 됩니다.

복원 checkout

git checkout {head명} {파일명}

이미 푸시된 자료는 다중 사용자가 작업할 때 이미 다른 git 이 쌓여있기 때문에 되돌리기 쉽지 않습니다.
체크아웃을 활용하여 푸시된 자료를 덮어 씌우는 방법이 있습니다.

단점은 git log를 활용하여 하나하나 찾은 뒤 해당 버전으로 이동해야 합니다.

git reset, git revert

지 작업된 자료까지 (왜 되돌아가는지 기록한 뒤) 되돌리게 됩니다.
reset은 무식하게 돌아간다면

  • reset은 현재가 없었든 것 처럼 원하는 과거로 갈 수 있습니다
    commit 이력을 남기지 않습니다. (로컬 개발환경에서 사용, 같은 브런치 사용시 꼬일 수 있음)
  • revert은 과거로 돌아가겠다는 이력을 남기고 원하는 시점으로 돌아갑니다

git reset

git reset HEAD^

가장 최근의 커밋이 취소됩니다.

git reset HEAD~10

현재로부터 원하는 만큼의 커밋이 취소됩니다.

git reset --hard {커밋ID}

커밋된 파일 중 tracked 된 파일을 Workind directory 에서 삭제합니다.

git revert

git revert {head명}

해당 위치로 기록을 남긴 채 돌아갑니다.

참조

  • reset, revert 알고 사용하기 : https://velog.io/@njs04210/Git-reset%EA%B3%BC-revert-%EC%95%8C%EA%B3%A0-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

클릭하여 복사