HOWTO · Git
퍼블릭 Git 리포지토리의 이전 커밋으로 롤백
Git의 이전 커밋으로 리포지토리를 롤백할 수 있습니다.
이 기사에서는 공개 Git 리포지토리를 이전 커밋으로 롤백하는 방법을 보여줍니다. Git 버전 제어로 작업하는 동안 원하는 지점으로 돌아갈 수 있습니다.
더 이상 고민하지 않고 오늘의 의제로 넘어가겠습니다.
퍼블릭 Git 리포지토리의 이전 커밋으로 롤백
항상 그렇듯이 이 개념을 설명하기 위해 예를 들어 보겠습니다.
아래에 표시된 커밋 기록이 있는 Git 리포지토리가 있습니다.

저장소의 이 시점에서 HEAD는 e65841a 커밋에 있습니다. 이를 HEAD@{0}라고도 합니다.
HEAD가 7c5a7db 커밋(예: HEAD@{3})에 있는 3개의 커밋으로 롤백하려면 어떻게 해야 합니까?
git reset 명령을 실행할 수 있지만 이것은 공개 저장소입니다. 공개 리포지토리에서 git reset 명령을 사용하는 것은 권장되지 않습니다.
프로젝트의 타임라인을 망칠 수도 있습니다. git reset 명령은 명령줄에 지정된 커밋을 제거한다는 점을 기억하십시오.
이를 수행하는 더 안전하고 깔끔한 방법은 git checkout 명령을 사용하는 것입니다. 다음은 명령에 대한 간단한 구문입니다.
$ git checkout <SHA-1>
이 경우 다음을 실행합니다.
$ git checkout 7c5a7db .
.에 유의하십시오. 명령 끝에. 전체 작업 트리에 변경 사항을 적용하도록 Git에 지시합니다.
항상 프로젝트의 루트에서 이 명령을 실행하십시오. 그렇지 않으면 체크인한 하위 디렉토리에만 적용됩니다.

지정된 커밋 이후의 커밋은 삭제되지 않습니다. 대신 작업 트리에서 영향을 받는 모든 파일을 업데이트합니다.
코드를 가지고 놀면서 변경 사항을 커밋할 수 있습니다. 변경 사항을 커밋한 후 커밋 기록을 확인하여 사례를 확인하겠습니다.

당신은 그것을 가지고 있습니다. 우리의 커밋은 여전히 온전하지만 Rollback이라는 새로운 커밋이 있습니다.
커밋 후 영향을 받는 파일은 HEAD@{4}의 파일과 동일해야 합니다.
간단히 말해서 공개 리포지토리는 특정 커밋으로 롤백할 때 많은 주의가 필요합니다. git reset --hard 명령을 사용하지 말고 대신 git checkout 명령을 사용하십시오.
훨씬 안전하고 깨끗합니다.