행복을 담는 블로그
[TIL] 내가 원하는 commit으로 돌아가기 / 사라진 코드 복구하기 본문
🔥BIG ISSUE🔥
어제 하루종일 기능 구현도 잘 되고 적당히 하루 해야할 일을 잘 마무리 한 것 같아서 기분이 좋았는데 자기 전에 commit하고 push하고 자야지 했는데 문제가 발생해버렸다..
그것은 바로... 내가 이전에 사용하던 브랜치가 pr을 하고 merge하면서 자동 삭제가 된지도 모르고 열심히 코드 작성하고 커밋했는데 push 하려고 보니 해당 브랜치가 없다고 하는거임.. 그래서 새로운 브랜치 만들어서 브랜치 이동했는데 마지막 push한 지점으로 돌아가 버렸다… 몇 시간 동안 작성한 코드 날라가고…
그래도 다행히 commit 기록에서 찾아서 코드는 찾았는데 뭔가 이상해서 일단은 아예 새 브랜치 다시 만들고 마지막 커밋 기록으로 돌아가니 코드 복구가 되긴했는데 이 방법이 맞는지 모르겠어서 오늘 아침 땡 되자마자 튜터님한테 여쭤봤는데, 이거 브랜치를 새로 만든거면 기존에 있던 브랜치랑 상관이 없어져서 크게 문제가 되지 않을거라고 하셨다...
다른 팀원분들이 기껏 merge 해주신 코드 괜히 내가 다 날려먹고 내꺼 dev로 덮어씌우는건 아닌가 진짜 엄청 걱정했는데 사라졌던 내 코드도 다시 돌아왔고, pull 받은 팀원분들 코드도 잘 살아있었다..
Git Graph
팀원분께서 Git Graph
확장프로그램을 알려주셨는데, 한 눈에 commit한 내역 확인 할 수 있고, pull 받으면 다른 사람 커밋 내역도 볼 수 있었다.. 내가 마지막으로 한 커밋 내역도 당연히 확인 가능했다.
git graph를 통해서 내가 돌아가고 싶은 커밋을 선택하면 아래와 같이 commit 이라고 적혀 있는 곳에서 id 값을 확인 할 수 있다.
그 값을 이용해서 git 명령어를 작성해주면...! 내가 돌아가고 싶은 커밋 지점으로 돌아갈 수 있고, 내가 마지막 커밋한 id로 돌아가면 이전에 내가 commit한 내역을 볼 수 있음과 동시에 코드를 살릴 수 있다!!!
git reset --soft <돌아가고 싶은 commit id>
멍청하게 코드 날리지 말고 브랜치 잘 남아 있는지 확인 잘하고.. 문제가 생기더라도 잘 해결해보자...
git 굉장히 좋은 아이였네..
'TIL' 카테고리의 다른 글
[TIL] zustand 새로고침 시 상태유지 reset ⇒ persist로 상태 유지 시키기 / role-based authentication (0) | 2024.04.12 |
---|---|
[트러블 슈팅🔥] invalid input syntax for type uuid : "null" (with supabase) (0) | 2024.04.07 |
[트러블 슈팅🔥] image url은 있는데 사진이 안 뜸 with supabase storage (0) | 2024.04.04 |
[TIL] 240401(월) useMutation으로 수정하기 with supabase (0) | 2024.04.02 |
[TIL] 24.03.28(목) data가 리렌더링 시 바로 들어오지 않음. (0) | 2024.03.29 |