reset과 마찬가지로
과거로 되돌리기 위한 명령어다.
reset과 revert 차이는 실행 후 commit 이력이 남는가?
revert는 reset과 달리 commit을 삭제하지 않고 추가한다.
📍 reset
📍 revert
예시
git log 확인 결과 A → B → C → D commit 이 존재한다.
B Commit 수정이 필요한 것을 확인하여
해당 변경내용만 없애고 싶다.
하지만 이미 push 해서 다른 팀원들이 사용하고 있을 수 있어서
commit 이력을 없애기는 부담스럽다.
![git revert](https://blog.kakaocdn.net/dn/cpB0ye/btrIuYNtZDt/gUd4ITdw3v7rs2kv8Trxtk/img.png)
![git revert 이력](https://blog.kakaocdn.net/dn/b2wSNO/btrIA2NUSpx/b7z6M5f3LBk6MM6KVYEa2K/img.png)
revert로 인해 B commit 당시 변경 내역만 사라진다.
(C, D 변경내용 변화 X)
![git revert 결과](https://blog.kakaocdn.net/dn/SwrSo/btrIyw906Qz/aNKIbITEpKl70x6M5HnbO0/img.png)
기존 B Commit을 포함해
전체 commit 내역은 그대로 남아있고,
revert 처리로 인한 새로운 commit이 생겨난 것이다.
B commit 변경내역과 충돌이 발생한다면
이를 먼저 해결해야 한다.
바로 commit 되지 않는 revert
여러 commit을 revert
요약 및 결론
revert로 중간 commit만 삭제할 수도 있지만
해당 commit이 왜 revert 되었는지
commit history에서도 계속 확인할 수 있다.
reset이 commit 이력을 깔끔하게 유지할 수 있지만
다른 사람과 함께 작업하는 브랜치라면
revert로 충돌을 최소화할 수 있다.
📌 Git 목록
[까망] Git 목록
본 블로그에 작성된 Git 관련 내용 URL을 정리한 곳입니다. 목록 [Git] "git add -p" 를 활용하는 이유 [Git] .gitignore 설정 [Git] learngitbranching 답안 및 풀이 - 1 [Git] learngitbranching 답안 및 풀이 -..
zoosso.tistory.com
'Git' 카테고리의 다른 글
[Git 깃] git blame (0) | 2022.08.07 |
---|---|
💻 [Git 깃] 영역별(add, commit, push) 되돌리기 (0) | 2022.08.02 |
[Git 깃] git reset (0) | 2022.07.29 |
[Git 깃] git rebase 위험성 (0) | 2022.05.22 |
[Git 깃] git rebase (0) | 2022.05.17 |
댓글