티스토리 뷰

push한 commit을 취소하고 싶을 때가 있습니다.

이번 포스팅에서는 push한 commit을 취소하는 것에 대해서 다뤄볼 예정입니다.

배경

다른 포스팅을 위해 github에 push를 했었는데, 오타가 있는걸 발견했습니다.

push한 해당 커밋을 취소하고 재배포해보겠습니다.

1. git log를 통해 삭제할 커밋을 찾습니다.

오른쪽 하단을 보시면 09cda43c가 커밋입니다.

2. git reset을 통해 commit을 삭제해줍니다.

다음 명령어는 해당 커밋을 삭제해줍니다.

  • git reset 09cda43c^

제가 취소하려는 커밋이 맨위에 있으므로 git reset HEAD^를 사용하셔도 됩니다.

보통은 soft reset이라고 해서 그 커밋에 있던 변경사항은 다시 되돌려줍니다.

위 이미지를 보시면 develop 브랜치의 위치가 origin/develop 브랜치 커밋의 바로 전으로 바뀐걸 보실 수 있습니다.

3. 수정 후 git push -f origin develop을 통해 github에 commit 삭제를 알려줍니다.

제가 원래 하기로 했던 오타를 지우고 다시 배포해줍니다.

이 때, origin에는 커밋이 추가가 되는게 아닌 수정이 되는 것이므로 force push를 뜻하는 f 옵션을 줍니다.

먼저 로컬에서 커밋을 한 걸 보여드리면 다음과 같습니다.

force push를 하고 나면 origin/develop과 develop 브랜치가 하나로 합쳐지는걸 볼 수 있습니다.

결론

push된 커밋을 취소하는 경우는 많이 없어야 하지만, 현업에서도 발생할 수 있는 실수라고 생각합니다.

저도 최근에 push한 커밋을 취소해야 할 일이 생겨서 부랴부랴 찾아봤었는데, 제 공부 목적 프로젝트에도 적용해볼 수 있어서 좋았습니다.

읽어주셔서 감사합니다.

출처

https://yebeen-study-note.tistory.com/15

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함