반응형
이전 포스팅에서 git에 파일을 무시하거나 이미 올려놓고 그 이후 변경을 감지 못하게 하는 것에 대하여 posting했었다.
그런데, 이때 나는 이것이 로컬에서만 자유자재로 변경되는 것을 가정한 상태로 적용했던 것인데,
git pull 시 remote랑 local에서 다르니 Git이 오류를 뱉는다. (뭐야 왜 안되요? 로컬 달라도 그냥 붙어야 하는거 아니냐? 컨플릭은 되도 그냥 로컬의 변화를 안보고 덮어쓰길 기대하는건데, 왜...안됨?)
fatal: could not reset index file to revision 'origin/main'.
위 경우 변경을 감지못하는 파일이 바뀌는 바람에 로컬파일을 덮어쓰기 실패하면서 나오는 오류다.
이럴 경우 진짜 git reset --hard을 해도 안먹힌다.
겨우 찾았는데, 하단의 3번째까지 진행하고, 4번째를 진행하여 해당 오류(덮어쓰기)를 해결했다.
물론 git main 브랜치에서 작업하여 작업한 브랜치는 보존하고 말이다.
++ 만약 이를 시행했는데도 안된다면, 이전 포스팅에 썼던 skip--worktree 파일이 문제를 일으키고 있는 것이다.
이것을 임시로 풀어주고 다시 pull 하면 정상 작동된다.
$ git gc
$ git reset
$ git reset --hard <target_branch>
git fetch --all
git reset --hard origin/main
// or
git reset --hard origin/master
git pull origin main
https://stackoverflow.com/questions/38536896/git-reset-hard-origin-master-failing
728x90
'코딩 > Git' 카테고리의 다른 글
[Git] 추적파일 목록 갱신하기, 추적내용 초기화 (0) | 2024.12.07 |
---|---|
[GIT] Hash_mac 전환하기 코드 모음 (0) | 2022.04.19 |
[Git] 파일 변경 추적 중지하기 (0) | 2022.02.25 |
[Git] TIL(Today I am Learned) -(꿀팁)"Readme.md" (0) | 2020.09.23 |