본문 바로가기
Git

[Git 깃] git revert

by 까망 하르방 2022. 7. 31.
반응형

reset과 마찬가지로

과거로 되돌리기 위한 명령어다.

 

 

reset과 revert 차이는 실행 후 commit 이력이 남는가?

revert는 reset과 달리 commit을 삭제하지 않고 추가한다.

git revert {Commit ID}

 

 

📍 reset

 

📍 revert


예시

git log 확인 결과 A → B → C → D commit 이 존재한다.

git log

 

 

B Commit 수정이 필요한 것을 확인하여

해당 변경내용만 없애고 싶다.

하지만 이미 push 해서 다른 팀원들이 사용하고 있을 수 있어서

commit 이력을 없애기는 부담스럽다.

git revert
git revert 이력

 

 

revert로 인해 B commit 당시 변경 내역 사라진다.

(C, D 변경내용 변화 X)

git revert 결과

 

기존 B Commit을 포함해

전체 commit 내역은 그대로 남아있고,

revert 처리로 인한 새로운 commit이 생겨난 것이다.

 

B commit 변경내역과 충돌이 발생한다면

이를 먼저 해결해야 한다.

 

 

바로 commit 되지 않는 revert

git revert -n {commit ID}

 

 

여러 commit을 revert

git revert [commit ID 1]...[commit ID N]

 

 

요약 및 결론

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

댓글