[Git] 원격에 push된 커밋을 특정 시점으로 되돌리기

어느 개발자·2021년 3월 25일
0

$ git reset "git-commit-id"
$ git push -u origin +master

되돌리고 싶은 commit-id로 git reset을 한 뒤, master에 강제로 배포하는 명령어이다. (-> revert와의 차이)

대신 protected branch일 경우 적용되지 않으므로, protect를 잠시 해제한다.

Sourcetree를 사용하여 master를 이 커밋으로 초기화 (soft/mixed/hard)를 모두 적용해도 특정 시점으로 돌아갈 수 없었다.

  • 커밋만 되돌리고 싶을 때 (soft)
  • 변경한 인덱스의 상태를 원래대로 되돌리고 싶을 때 (mixed)
  • 최근의 커밋을 완전히 버리고 이전의 상태로 되돌리고 싶을 때 (hard)

git reset과 git revert에는 차이가 있어 보임 조사해서 수정

git revert는 특정 커밋만을 돌려주는 것 같고
git reset은 특정 커밋 이전까지 삭제해주는 것 같다. (대신 커밋 기록도 날아간다ㅠ)

git reset은 급하지 않으면 쓰지 않는 것이 좋을 것 같다.

참고자료

https://backlog.com/git-tutorial/kr/stepup/stepup6_3.html

0개의 댓글