VSCODE에서 작업한 소스코드를 이클립스에서 Git 소스 커밋시 충돌발생 후 overwrite 하여 날린 소스 복원을 시도했다. 결과는 성공이었다.
지난 목요일 퇴근 무렵 소스코드를 Git으로 내려받기 위해
동기화(Synchronize Workspace)를 하였다.
소스코드 충돌이 3건 발생하여 Merge 후
Commit and Push를 하였지만 실패했다.
그래서 overwrite를 몇 번 하였더니,
소스코드 동기화 리스트에 없던 코드들 마져
모두 삭제되는 현상이 발생하였다.
그렇게 2일간의 작업이력이 사라졌다.
정말 멘붕 이런 멘붕도 없었다.
코드 복구를 위해 방법을 알아보았는데,
그중에 하나가 윈도우 복원 시점을 지정하여 가능함을 알게되었고
윈도우 10 이전날짜로 복원하기 위해
하드 디스크를 선택 후 이전 버전복원(V) 메뉴를 클릭하였다.
그러나 안타깝게도
“사용 가능한 이전 버전이 없습니다.”
윈도우 하단의 작업표시줄에서 검색어로 복원을 검색하여 “복원지점 만들기”
메뉴를 찾아들어갔다.
자동으로 시스템 보호 탭이 열리는데,
복원 기능이 해제 되어 있었다.
어떻게든 해결해야했다.
2일간 작업한 코드를 다시 개발하기 싫었기에….
이클립스에서 코드 작업을 하게 되면
저장할 때 마다 기록이 남는걸로 알고 있다.
그래서 이클립스에서 작업한 것은 아닌 코드를
비주얼스튜디오 코드(VSCODE)에서 작업한 코드의
이력이 이클립스에 남아 있을 턱이 없지만 혹시나 해서 시도를 하였다.
그런데 놀랍게도
3월30일 복원 가능 코드가 있었다.
살았다.
소스 코드 복원에 성공하였다.
이클립스에서 무료 Git 라이브러리를 사용하는 경우
이런 오류에 사전 대응으로
무조건 Pull로 땡겨서 먼저 소스 코드를 받은 후
commit and push를 해야함을 잊지말자
소스코드 충돌이 발생한다면
충돌하는 본인 소스는 백업을 받아두고
git 소스를 받아 처리하는 overwrite를 한 후 본인 소스를
수작업으로 추가 후 commit and push를 진행하자..
merge 후에 땡겨받는 방버도 있으나 잘되지 않더라….
결국 충돌소스 머지 후 본인 소스먼저 커밋하게 된다.
그런 다음 pull로 땡기게 되는데..
잘 적용되지않는 느낌이 있으니 주의!!!
VSCODE는 로컬 히스토리를 기본적으로 제공해주지 않는다
그래서 별도의 라이브러리 Local History를 설치해야한다.