반응형
상황
로컬저장소의 'work' 브랜치를 원격저장소의 'main(혹은 master)'브랜치의 내용으로 덮어쓰려고 한다.
git reset --hard origin/master 를 입력하였다. (참고: Git 브랜치 내용 덮어쓰기 (reset --hard origin/master))
문제
다음과 같은 오류가 발생했다.
fatal: Could not reset index file to revision 'origin/main'
해결 방법
work 브랜치에서 다음을 순서대로 입력한다.
$ git gc
$ git rm .git/index
$ git reset
$ git reset --hard origin/main
무슨 일이 일어날까?
git gc: 'garbage collection', 즉 쓰레기 치우기. 로컬 저장소에서 필요없는 파일을 제거하고 저장소를 최적화한다.
git rm .git/index: git의 index 파일 제거
git reset: 저장소 리셋
git reset --hard origin/main: main브랜치로 덮어쓰기
결과
work 브랜치의 오류가 해결되고 main 브랜치와 동일한 내용으로 덮어씌워진다.
반응형
'Git' 카테고리의 다른 글
깃(Git) 커밋(commit) 기록 확인 & 로그 창 닫기 (git log 종료하기) (0) | 2022.06.12 |
---|---|
깃 병합 충돌 해결 (Git merge Conflict) - 한 쪽 브랜치로 덮어쓰기 (0) | 2022.06.11 |
Git 브랜치 강제로 덮어쓰기 (강제 push 하기) (0) | 2022.06.08 |
Git 강제 pull, 로컬 브랜치 덮어쓰기 (reset --hard origin/master) (0) | 2022.06.03 |
[총정리] Git/Github 브랜치(branch) 목록, 생성, 삭제, 이동, 전환, 병합 (0) | 2022.05.30 |
댓글