[Git] #6 Troubleshooting: "error: resource mipmap not found."

Yeon·2023년 8월 8일
0

Git

목록 보기
6/6
post-thumbnail

🚨 문제 발생

어제의 나....반성해!!😭
어제 개인과제로 만든 자기소개 앱 파일을 정리하면서 필요없는 것들을 삭제했었다.
그런데 오늘 앱을 실행하려는데 이런 에러가 떴다.

error


🔎 발생 이유

그땐 mipmap이 뭔지 몰랐고, 그냥 내가 만든게 아니길래 지워버렸는데...😂
없으면 안되는거구나....ㅠㅠㅠ
참고로 Mipmap은 Drawable과 함께 안드로이드 애플리케이션에서 이미지 리소스를 관리하는 것이다.


💡 해결방법

다행히도 mipmap 삭제한 것을 코드 파일과 따로 커밋해서 push 내용을 취소해도 아무런 지장은 없을 것 같았다.

push를 되돌리는 방법은 2가지가 있다.
1) reset: 되돌리고 싶은 시점의 commit 이력으로 돌아가는 것
2) revert: 현재까지 남긴 이력들을 유지한 채 되돌리고 싶은 commit을 원상복귀시키는 것 (복구 commit이 추가됨)

mipmap을 삭제한 이후로 수정된 내용도 없고, 복구 commit이 추가되는게 싫어서 reset으로 할 것이다!
혹시 팀프로젝트 같이 여러 사람이 사용하는 거라면 reset은 되도록 사용하지 않는 것을 추천한다. 다른 사람이 수정한 내용도 날릴 확률이 높다.


1. commit 기록 조회

커밋 내역을 확인하는 방법 2가지!

1) Teminal에 명령어 입력

git log --oneline

git log를 할 수도 있지만 commit ID를 전체 해시 값으로 표시하므로 알아보기가 힘들다.
그래서 짧은 해시 값으로 표시하는 git log --oneline으로 사용하는 것이다.

해당 명령어를 입력하면 그동안의 commit을 확인할 수 있다.
git-log

가장 상단에 위치하고 HEAD가 있는 곳이 최근에 push한 commit이다.

2) GitHub History

GitHub 해당 Repository에서 History를 눌러 확인할 수 있다.
github-history

가장 상단에 위치하는 것이 최근에 push한 commit이다.


2. git reset으로 commit 삭제

git reset --hard <돌아가고 싶은 commit>

git reset --hard f6cb0a6

rest hard를 쓰면 돌아가려는 이력 이후의 모든 내용은 삭제한다는 것이다.
나는 b6774f4 Delete 이전으로 돌아가고 싶으니까 f6cb0a6을 입력했다.

그러면 로컬에는 이렇게 반영이 되었다.
local

3. GitHub에 반영하기

로컬은 reset이 되었는데 원격 저장소는 아직 그대로이다.
아래 명령어를 입력하면 원격에도 적용된다!

git push -f origin main

여기서 fforce로 원격 저장소에 강제로 변경사항을 적용시킨다는 의미이다.
그래서 함부로 쓰면 안되는 명령어라고 하니까 다른곳에 사용할 때는 조금 더 고민하고 검색하고 해야 한다.

repository

GitHub에도 잘 적용이 되었다!




➕ reset --soft/mixed/hard

1. soft

git reset --soft <commit number>
  • 커밋을 취소하지만 변경 내용은 스테이징 영역에 남겨둠
  • 이후에는 다시 커밋 메시지를 수정하고 다시 커밋할 수 있음

2. mixed

git reset --mixed <commit number>
  • 커밋을 취소하고 변경 내용은 스테이징 영역에서 제거함
  • 변경 내용은 작업 디렉토리에 유지되지만 스테이징 영역으로 돌아가지는 않음

3. hard

git reset --hard <commit number>
  • 커밋을 취소하고 변경 내용을 스테이징 영역에서도 제거함
  • 변경내용은 완전히 삭제 되므로 주의해야 함



[참고 사이트]

'[Android] drawable과 mipmap', 해구름
'[GIT] reset --(soft/hard/mixed) 쉬운 설명', 지렁이의 성장블로그
'🪄 과거로 돌아가는 방법 : reset과 revert 차이점과 사용 방법', yeahg_dev.log

0개의 댓글