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
'# Back-End > Git' 카테고리의 다른 글
[Git] 에러 remote: Invalid username or password. fatal: Authentication failed for (0) | 2022.10.07 |
---|---|
[Git] 브랜치 Merge와 커밋 히스토리 관리 (squash, rebase) (0) | 2022.07.31 |
[Git] Git Flow 전략 (0) | 2021.11.04 |
[Git] remote url 변경 (0) | 2021.10.11 |
[Git] Commit message 작성 규칙 (0) | 2021.05.26 |
[Git] fatal: couldn't find remote ref master (0) | 2021.01.20 |
[Git] 초보 명령어 & 깃허브 프로젝트 가져오기 (0) | 2020.11.08 |