업무 중 C# 코드를 리팩토링하다가
master branch와 merge 하다가 오류가 발생했다.
git을 되돌리는 방법을 알아보기로 했다.
📌RESET
아예 특정 시간으로 되돌린다. 리셋시켜버려서 되돌아간 이후의 기록은 사라진다.
예를들어 회귀는 했지만 과거를 기억하지 못하는 (현재의)나 가 된다.
git reflog
git reset (--hard) {주소}
- reflog : reference log, log 기록을 확인한다.
- reset 뒤에는 HEAD@{} 또는 e535d54a8 등 주소 2종을 적을 수 있다.
reset 단계
→ soft
: 내용을 가진 상태(commit 직전)로 돌아간다. 바로 다시 커밋할 수 있다.
→ hard
: 돌아가려는 이력 이후의 모든 내용을 지워버린다.
→ mixed
: 기본옵션. 변경된 내용은 working directory에 남아있고 인덱스는 초기화 된다.
📌REVERT
과거로 되돌아간다는 이력을 남기고 원하는 시점으로 되돌아간다.
과거로 되돌아간 나는 기억도 남아있다.
git reflog
git revert <되돌릴 커밋 주소>
📌언제 reset을 하고 언제 revert를 하는가?!
- 협업 프로젝트에서 이전의 커밋으로 돌아가고 싶을땐 revert를 사용하자
- 혼자서 작업할때 히스토리를 깔끔하게 유지하고 싶다면 reset을 사용하자
References
'이건 알아야지's > 오늘 공부' 카테고리의 다른 글
[Git] 직전 commit 메세지 수정하기 (0) | 2024.11.27 |
---|---|
파이썬 코드, 구글 코랩 PDF로 저장하기 (2) | 2024.11.09 |
[TIL] 의사코드(PseudoCode) 작성법 (1) | 2023.06.14 |
[이클립스] 전체 검색 시 FileSearch를 기본으로 설정하기 (0) | 2022.12.20 |
다운로드 sb로 읽기 코드 (1) | 2021.08.11 |