이전 커밋으로 되돌리기
1. reset을 이용한 커밋 되돌리기
"git reset --hard" 옵션으로 이전 커밋으로 되돌릴 수 있으나, 커밋 이후의 변경이력을 모두 삭제하므로 주의해야한다.
소스트리(reset) : 브랜치에서 원하는 히스토리를 선택 후 마우스우클릭 - [이 커밋까지 현재 브랜치를 초기화]-[HARD] 실행.
리셋 이후 push는 force 옵션을 통해 강제푸시를 수행해야한다. (git push --force)
다른 사람과 코드를 공유하는 경우에 reset을 사용하면, 이후 새로운 커밋을 push할때 충돌이 날 수 있으므로 권장하지않는다.
2. 브랜치를 만들어서 커밋 되돌리기
되돌릴 커밋을 대상으로 브랜치를 생성한 후 해당 브랜치로 체크아웃하여 변경사항을 수정한 뒤 커밋한다.
reset과는 달리 내용이 사라지지 않고 커밋 이력이 남아 기록관리에 용이하지만, 트리가 지저분해지는 단점이 있다.
3. revert를 이용한 커밋 되돌리기
대상 커밋을 HEAD 커밋의 자식으로 새로 생성한다.
소스트리(reset) : 브랜치에서 원하는 히스토리를 선택 후 마우스우클릭 - [커밋 되돌리기] 실행.
revert 대상 커밋은 사라지지 않으며, revert 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨난다.
만약 revert로 여러 커밋을 되돌리고자 한다면, 최신 커밋부터 순서대로 revert를 반복 적용해야한다.
이전 커밋 이력이 남아있어 이력관리에 유리하지만, 충돌 가능성이 높고 기능 난이도가 어려운 편이다.
Learn Git Branching을 통해 revert와 reset을 비교해보자.
https://learngitbranching.js.org/?locale=ko
'Days > IT' 카테고리의 다른 글
git 병합하기 (merge) (0) | 2024.02.26 |
---|---|
깃헙 소스트리 사용해보기 (0) | 2024.02.23 |
DNS (1) | 2023.12.20 |
파이썬 웹 프레임워크(Flask, Django, FastAPI) (1) | 2023.12.05 |
GET / POST (1) | 2023.12.04 |
댓글