programing tip

git push rejected : 오류 : 일부 참조를 푸시하지 못했습니다.

itbloger 2020. 11. 30. 07:55
반응형

git push rejected : 오류 : 일부 참조를 푸시하지 못했습니다.


사람들이 비슷한 질문을했지만 문제의 원인은 다르다고 생각합니다. 나는 내 코드를 상당히 엉망으로 만들었 기 때문에 하드 리셋을했다.

 git reset --hard 41651df8fc9

나는 꽤 많은 변경을했고, 커밋을했고, 이제이 모든 커밋을 서버에 푸시하려고하는데 다음과 같은 오류가 발생합니다.

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@git.somewhere.git'

Git은 git pull을 할 것을 제안하며 다른 사람들이 다른 사용자에게 제안한 것입니다. 그러나 git pull이 현재 코드를 더 이상 원하지 않는 코드 (헤드 수정)와 병합 할 것이라고 생각합니다. 푸시를 수행하고 이전 버전 / 개정을 잊어 버리려면 어떻게해야합니까?


git push -f 권한이 있으면 해당 저장소에서 가져온 다른 사람을 망칠 수 있으므로 조심하십시오.

이것이 거부되고 아래에 canzar가 말한 것처럼 서버에 대한 액세스 권한이있는 경우 다음을 사용하여 서버에서이를 허용 할 수 있습니다.

git config receive.denyNonFastForwards false

프로젝트에 참여하는 유일한 사람인 경우 다음과 같은 작업을 수행 할 수 있습니다.

 git checkout master
 git push origin +HEAD

이 마스터로 커밋 (같은 원산지 / 마스터의 끝을 설정합니다 그래서 41651df 및 원산지 / 마스터 사이의 커밋을 삭제 )


그냥 해

git pull origin [branch]

그러면 밀 수있을 것입니다.

자체 커밋이 있고 아직 브랜치에 푸시하지 않은 경우

git pull --rebase origin [branch]

그러면 밀 수있을 것입니다.


'remote : error : non-fast-forward refs / heads / master (you should pull first)'

이 메시지는 빨리 감기 푸시를 거부하는 서버에 후크가 있음을 나타냅니다. 예, 일반적으로 권장되지 않으며 좋은 가드이지만 사용하는 유일한 사람이고 강제 푸시를 원하므로 저장소 관리자에게 문의하여 일시적으로 제거하여 비 빨리 감기 푸시를 수행 할 수 있도록 허용하십시오. 훅 또는 훅에서 그렇게 할 수있는 권한을 부여합니다.


문제를 해결하기 위해 내가 한 일은 다음과 같습니다.

git pull origin [branch]
git push origin [branch]

또한 다음을 실행하여 올바른 분기를 가리키고 있는지 확인하십시오.

git remote set-url origin [url]

나를 위해 일한 후에는이 명령을 하나씩 실행했습니다.

git pull -r origin master

git push -f origin your_branch


문제를 해결하기 위해 다음 단계를 수행했습니다. 나에게 오류를 준 지점에서 :

  1. git pull origin [branch-name]<current branch>
  2. 끌어온 후 몇 가지 병합 문제가 발생하여 문제를 해결하고 변경 사항을 동일한 분기로 푸시했습니다.
  3. 푸시 된 브랜치로 풀 리퀘스트를 생성했습니다 ... 타다, 내 변경 사항이 모두 반영되었습니다.

참고 URL : https://stackoverflow.com/questions/9832348/git-push-rejected-error-failed-to-push-some-refs

반응형