본문 바로가기

Git에서 git reset 명령어를 사용한 후 변경 사항을 원격 저장소에 푸시하려면 다음 단계를 따르세요:

  1. 변경 사항 리셋: 먼저, 작업 디렉토리를 특정 커밋으로 되돌리기 위해 git reset 명령어를 사용합니다. 여기서는 --hard 옵션을 사용하여 작업 디렉토리와 인덱스를 모두 업데이트합니다.

    git reset --hard <commit-hash>
  2. 원격 브랜치 강제 푸시: 로컬 브랜치의 상태를 원격 저장소에 강제 푸시하여 원격 브랜치의 히스토리를 덮어씁니다. 이때 --force (또는 -f) 옵션을 사용합니다.

    git push origin <branch-name> --force

    여기서 <commit-hash>는 리셋할 커밋의 해시 값이며, <branch-name>은 리셋할 브랜치의 이름입니다.

예시:

  1. 특정 커밋으로 리셋:

    git reset --hard a1b2c3d4
  2. 리셋된 커밋을 원격 저장소에 강제 푸시:

    git push origin main --force

이 과정에서 git reset --hard 명령어는 되돌리는 커밋 이후의 모든 로컬 변경 사항을 제거하므로 주의해서 사용해야 합니다. 또한, 강제 푸시는 원격 저장소의 히스토리를 덮어쓰기 때문에 다른 협업자들과의 충돌이 발생할 수 있습니다. 따라서 팀원들과의 충분한 의사소통 후에 진행하는 것이 좋습니다.

B로그0간

개발 관련 글과 유용한 정보를 공유하는 공간입니다.