Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

미국 사는 수스의 코딩

Git 커밋 취소 : Git revert 되돌리기 본문

Git

Git 커밋 취소 : Git revert 되돌리기

캘리 사는 수스 2023. 3. 15. 14:42
반응형

저번 포스팅에서 git reset에 대해서 배웠었는데, 이번 포스팅에서는 git revert에서 배우도록 하겠습니다.

 

git reset와 git revert의 차이

  • reset은 log(history)를 남기지 않습니다. 그리고 현재 commit에서 뒤로 돌아갈 수 있습니다.
  • revert는 log(history)를 남깁니다. 그리고 원하는 시점의 commit으로 돌아갈 수 있습니다.

git revert 란

  • 이미 생성된 commit을 되돌리는 명령어입니다. 즉, 이전 commit을 삭제하고 이전 상태로 되돌리는 것이 아니라, 이미 생성된 commit을 남겨두고 해당 commit에서 수행한 변경 사항을 취소하는 것입니다. 이를 통해 commit history를 수정하고, 이전 commit으로 돌아갈 수 있습니다.

git revert 용도

  • git reset은 로그를 남기지 않기 때문에, 혼자 Project를 담당한다면, git reset을 사용함으로써, history가 좀 더 깨끗하게 보일 수 있습니다. 반면, Project를 여러 명이, 참여해 코드가 공용된다면, git revert를 사용해서, 기록을 남겨 코드를 안전하게 보존할 수 있습니다.

Git revert 예시

1. git log

  • branch에서 git log로 제가 돌아갈 commit을 체크합니다. (과거에 push했던, 모든 commit들을 다 볼 수가 있습니다)

2. git revert

  • 상위 그림을 보면, commit이 총 5개가 있습니다. 예시로, 바로 전 commit으로 돌아가 보도록 하겠습니다.
git revert 0a9c0be240fd1c45e748a28600b8efbd5934429d

  • 위 그림에서 회색 글자로 "Compare Changes"를 누르시면, 과거 commit한 상태와 revert후 새로운 commit한 상태의 코드를 비교할 수 있습니다. 왼쪽은 revert 전의 파일이고 오른쪽은 revert 후의 파일인데, row 3~4줄이 없어진 것을 확인할 수 있습니다.

  • 첫 번째 그림에서 회색 글자로 "Accept Incoming Change"를 누르시면, 업데이트된 새로운 commit만 남게 됩니다.

  • 마지막으로 새로운 commit을 git add -> git commit -> git push를 통해서 최종적으로 업데이트를 마칩니다.

 

반응형

'Git' 카테고리의 다른 글

Git 브랜치 병합/재배치 : Git rebase  (0) 2023.03.19
Git 브랜치 병합 : Git merge  (0) 2023.03.15
Git Command 취소 : Git reset  (0) 2023.03.05
Git 명령어 정리 | 예시  (0) 2023.03.01
Git 용도와 구성 설명  (0) 2023.02.27
Comments