[Git] Git Commit을 되돌리기(+ Rebase로 커밋 히스토리 관리하기)
# Back-End/Git

[Git] Git Commit을 되돌리기(+ Rebase로 커밋 히스토리 관리하기)

Git Commit을 되돌리기 (+ Rebase로 커밋 히스토리 관리하기)

작업을 하다보면 자신의 커밋을 되돌려야 할 때도 있다. 어떤 방법을 사용할 수 있는지 정리해본다.

 

 

 

종류

1. Reset을 이용한 강제 롤백

 

Reset 명령어를 사용할 때 주의할 점은 되돌리려는 브랜치를 다른 개발자가 Check out하여 사용중일 경우 그 사용자는 되돌린 사실을 알 수 없다.

즉 강제로 브랜치의 커밋 내역을 지우는 것이기 때문에 협업하는 사람이 있으면 주의하여 사용해야 한다.

 

git reset --hard HEAD~3 (롤백하려는 브랜치 기준 점이 3개가 들어왔다.. .)

git push origin -f

 

커밋 내역을 깔끔하게 관리하기 위해 Rebase 명령어를 통해 여러 커밋을 하나로 합칠 수 있다.

git rebase -i HEAD~3

(기준, 스쿼시 입력)

(커밋 메시지 입력)

git push origin -f
  • ^ : 커밋 개수
  • ~ : 세대의 개수

마찬가지로 -f 옵션을 통해 강제로 push하기 때문에 협업 하는 사람이 없어야 한다.

협업하는 상황에서 되돌리기 위해서는 revert를 사용한다.

728x90