- Today
- Total
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- js
- React
- deep dive
- 상태관리
- C++
- 이터러블
- JavaScript
- map
- get
- es6
- 그림으로 배우는 http&network
- git
- 모던 자바스크립트
- 모던 자바스크립트 deep dive
- error
- git error
- 네트워크
- 에러처리
- Java Script
- html
- http
- 자바스크립트
- 프론트엔드
- Angular
- 웹
- 백준
- async
- 비동기
- 알고리즘
- 백준 실버
Archives
sharingStorage
git error 해결법 - fatal: You are not currently on a branch.To push the history leading to the current (detached HEAD)state now, use 본문
git
git error 해결법 - fatal: You are not currently on a branch.To push the history leading to the current (detached HEAD)state now, use
Anstrengung 2022. 2. 22. 15:46git push 명령어 사용시 error발생
error code:
fatal: You are not currently on a branch.
To push the history leading to the current (detached HEAD)
state now, use
git push origin HEAD:<name-of-remote-branch>
원인 :
현재 상태가 브랜치에 있는 것이 아니라 옛날의 한 시점의 스냅샷을 보고 있다.
해결 :
- git push origin HEAD: master 명령어 사용
- ! [rejected] master -> master (non-fast-forward)git push origin HEAD: master
error: failed to push some refs to 오류 발생 - git push origin HEAD: master --force 명령어 사용
- 현재 working디렉토리 변경 점이 아닌 옛날의 한 시점이 커밋됨. 분리된 상태의 버전이 정말로 유지하려는 버전인지 확신하는 경우에만 사용해야함. 즉 커밋은 성공하지만 엉뚱한 시점의 코드가 커밋될 수 있다.git push origin HEAD: master --force
추가로 강제로 푸시하면 해당 브랜치가 체크아웃된 다른 모든 사용자에게 문제를 일으킬 수 있다. - 분리된 HEAD에서 임시 브랜치를 만든 다음 해당 브랜치를 병합하는 방법
1. temp branch생성, temp로 checkout
2. temp branch가 정상이라면 아래 명령어를 통해 master branch가 temp를 가리키게함git branch temp git checkout temp
3. Switched to 'master' 라는 문구가 뜨고 Your branch is ahead of 'origin/master' by 22 commits. 이렇게 뜨며 git push를 사용하라는 문구가 뜸git branch -f master temp git checkout master
4. git push 명령어 or git push origin master 명령어 사용
5. git branch -d temp - 임시로 만든 브랜치 삭제 - git pull 원격 저장소 으로 원격과 로컬의 저장소 간의 차이가 없도록 만든 후 다시 git add,commit 하고 push를 해준다.
엄청나게 많이 알아보고 많은 시도를 했는데 결국은 git에 대한 내부 프로세스에 대한 이해가 부족했고 여태껏 명령어만 기계처럼 따라쳤던 것에 대한 반성을 한다. 결과론 적인 말이지만 git checkout master만 먼저 시도해봤어도 해결했을 수도 있다.
Reference
'git' 카테고리의 다른 글
git add, commit, push 명령어로 추가한 내용 취소 (0) | 2022.03.21 |
---|---|
git error 해결법 - husky > pre-commit hook failed (add --no-verify to bypass) (0) | 2022.03.03 |
git이란? (0) | 2022.02.24 |
git 간단한 명령어 정리 (0) | 2022.02.24 |
git error 해결법 - warning: LF will be replaced by CRLF in (0) | 2022.02.22 |
Comments