반응형
깃을 커밋하다보면 가장 마지막에 커밋한 버전을 취소하고 싶을 때가 있다.
이 때, reset을 사용할 수도 있지만 reset을 하게되면 소스트리에 있던 모든 커밋들과 staging area에 있던 내용들이 사라지고, 그 간의 기록들이 모두 사라지는 꼴이기 때문에 위험할 수 있다. 그리고 무엇보다도 취소해서 되돌아갔다는 표식이 없기때문에 다소 권장하지 않는다.
참조 :
https://powerofsummary.tistory.com/22
그렇다면 버전을 되돌아가겠다는 기록도 남기고 버전을 되돌리는 방법이 뭐가 있을까??
git revert라는 기능을 알아보자.
현재상태 :
이제 최신커밋을 삭제하려면 다음과 같이 한다.
결과 :
만약 여기서 M5버전으로 되돌아가고 싶다면??
위 사진과 같이 M5바로 이후 버전에서 revert를 하면 충돌 경고가 뜬다. 이 쯤에서 revert 개념을 다시 이해해보도록 하자.
reset : 그 당시 버전으로 되돌아 가겠다는 명령어.
revert : 그 버전으로 되돌아 가겠다는 명령어가 아니다. 최신에 update한것을 취소하겠다는 개념. 즉, 가장 최근것만 revert만 가능하므로 과거의 버전에 대해서 revert를 하면 그 이후에 생성된 새로운 버전들 때문에 충돌이 감지된다. 그렇다면 해결법은??
최신 버전들을 모두 역순으로 revert 해서 M5 버전까지 내려가야 한다.
반응형
'Git, Version control > SourceTree' 카테고리의 다른 글
[bitbucket] issue 만들기 (0) | 2020.03.09 |
---|---|
[소스트리 사용법] 버전 비교하기 (0) | 2020.03.09 |
[소스트리 사용법] commit ID 란 (0) | 2020.03.09 |
[소스트리 사용법] 과거 버전으로 가기 (0) | 2020.03.09 |
[소스트리 사용법] 버전 되돌리기(reset) (0) | 2020.03.09 |