code

힘내 푸시가 "비 빨리 감기"를 거부했습니다.

codestyles 2020. 11. 18. 09:06
반응형

힘내 푸시가 "비 빨리 감기"를 거부했습니다.


나는 git아직 꽤 처음 이지만 현재 팀 환경에서 코드를 관리하는 데 사용하고 있습니다. 리베이스 문제가 있었고 다음을 사용하여 수정했습니다.

git checkout --ours filename.txt
git add filename.txt
git rebase --continue

이제 변경 사항을 푸시하고 다음 명령을 실행합니다.

$ git push origin feature/my_feature_branch

다음과 같은 오류가 발생합니다.

To ssh://git@coderepo.com:7999/repo/myproject.git
 ! [rejected]        feature/my_feature_branch -> feature/my_feature_branch (non-fast-forward)
error: failed to push some refs to 'ssh://git@coderepo.com:7999/repo/myproject.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

오류를 제거하려면 어떻게해야합니까?

추신 : --force가능한 옵션 사용을 피하고 있습니다.


누군가 당신의 마지막 git fetchgit push. 이 경우 단계를 반복하고 my_feature_branch한 번 더 리베이스해야합니다 .

git fetch
git rebase feature/my_feature_branch
git push origin feature/my_feature_branch

git fetch나는 gitk --all.


아마도 리베이스 전에 원격 변경 사항을 가져 오지 않았거나 누군가 새로운 변경 사항을 푸시하지 않았을 것입니다 (리베이스하고 푸시하려고하는 동안). 다음 단계를 시도하십시오.

#fetching remote 'feature/my_feature_branch' branch to the 'tmp' local branch 
git fetch origin feature/my_feature_branch:tmp

#rebasing on local 'tmp' branch
git rebase tmp

#pushing local changes to the remote
git push origin HEAD:feature/my_feature_branch

#removing temporary created 'tmp' branch
git branch -D tmp

나는이 문제가 있었다! 나는 시도했다 : git fetch + git merge, but not resolved! 나는 시도했다 : git pull, 또한 해결되지 않음

그런 다음 이것을 시도하고 내 문제를 해결했습니다 (엔지니어의 답변과 유사합니다).

git fetch origin master:tmp
git rebase tmp
git push origin HEAD:master
git branch -D tmp

나는 파티에 늦었지만 github 도움말 페이지 에서 유용한 지침을 찾았고 여기에서 공유하고 싶었습니다.

때로는 Git이 커밋을 잃지 않고 원격 저장소를 변경할 수 없습니다. 이 경우 푸시가 거부됩니다.

다른 사람이 당신과 같은 브랜치에 푸시했다면 Git은 당신의 변경 사항을 푸시 할 수 없습니다 :

$ git push origin master
To https://github.com/USERNAME/REPOSITORY.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/USERNAME/REPOSITORY.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

원격 브랜치에서 변경 한 내용을 로컬에서 변경 한 내용을 가져와 병합하여이 문제를 해결할 수 있습니다.

$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin YOUR_BRANCH_NAME
# Merges updates made online with your local work

또는 간단히을 사용 git pull하여 두 명령을 동시에 수행 할 수 있습니다 .

$ git pull origin YOUR_BRANCH_NAME
# Grabs online updates and merges them with your local work

비슷한 문제가 있었고 다음과 같이 해결했습니다. git pull origin


Write lock on shared local repository

I had this problem and none of above advises helped me. I was able to fetch everything correctly. But push always failed. It was a local repository located on windows directory with several clients working with it through VMWare shared folder driver. It appeared that one of the systems locked Git repository for writing. After stopping relevant VMWare system, which caused the lock everything repaired immediately. It was almost impossible to figure out, which system causes the error, so I had to stop them one by one until succeeded.


Well I used the advice here and it screwed me as it merged my local code directly to master. .... so take it all with a grain of salt. My coworker said the following helped resolve the issue, needed to repoint my branch.

 git branch --set-upstream-to=origin/feature/my-current-branch feature/my-current-branch

In Eclipse do the following:

GIT Repositories > Remotes > Origin > Right click and say fetch

GIT Repositories > Remote Tracking > Select your branch and say merge

Go to project, right click on your file and say Fetch from upstream.

참고URL : https://stackoverflow.com/questions/20467179/git-push-rejected-non-fast-forward

반응형