반응형
커밋 되돌리기
- 바로가기 마우스 오른쪽 버튼=>git reset =>hard 에 해당하는 명령으로 커밋을 되돌릴 수 있다.
- reset 이후 push는 force 옵션을 선택해야한다.
- 이전 커밋은 사라진다.
- push --force 는 소스트리에서 지원하지 않기 때문에 CLI를 이용해야 한다.
reset의 장단점
- 장점: 쉽다
- 단점: 커밋이 날아간다. push --force 가 필요하다.
직접 reset 해보기
- 위의 코드들 중 왼쪽부터 오른쪽으로 순서대로 둘 다 한 번씩 각각 커밋을 해준다.
- 브렌치의 master로 돌아가보면 되돌리기 테스트 1,2가 생성된 것을 볼 수 있다.
- 지금 현재 상태는 되돌리기 테스트 2 상태이다.
- 이때 맨 처음 커밋했던 되돌리기 테스트1으로 되돌리기를 위해 바로가기 메뉴에서 이 커밋까지 현재 브랜치를 초기화를 클릭한다.
- Hard 모드로 모든 작업 상태 내 변경 사항을 버림으로 설정해준다. 그리고 확인 버튼을 눌러 초기화 시켜준다.
- 다시 되돌리기 테스트1 상태로 돌아간 것을 확인 할 수있다.
- 하지만 브랜치를 확인하니 되돌리기 테스트2는 완전히 사라져있었다.
주의사항
- 미리 위에서 원격 저장소에 브렌치의 맨 위 최종 결과물을 PUSH을 하지 않았다면 reset한 커밋까지 위에서부터 정보가 완전히 날아가버리는 위험한 단점이 있다.
- reset후 reset한 브렌치 원본 환경에서 다시 수정하고 커밋한 후 PUSH을 할때 강제 PUSH가 필요하다. 왜냐하면 reset으로 인하여 PUSH하려던 원본이 원격 저장소에 원래 올렸던 것보다 과거로 변했기 때문에 오류가 나기 때문이다.
반응형
'프로그래밍 개발 > GIT' 카테고리의 다른 글
GITHUB+SourceTree revert를 사용해서 커밋 되돌리기 (0) | 2020.11.16 |
---|---|
GITHUB+sourceTree 브렌치를 만들어서 커밋 되돌리기 (0) | 2020.11.13 |
GITHUB+sourceTree 브렌치 pull 및 충돌 해결 (0) | 2020.11.09 |
GITHUB+sourceTree 브렌치 병합(merge) (0) | 2020.11.06 |
GITHUB+sourceTree 브렌치(branch) 하기 (0) | 2020.11.06 |
댓글